반응형
단일 MySQL 문에서 열을 추가하고 외부 키를 만드는 방법은 무엇입니까?
mysql에서 열과 외부 키를 같은 문장에 추가할 수 있습니까?fk를 추가하는 올바른 구문은 무엇입니까?
SQL은 다음과 같습니다.
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
FOREIGN KEY (fk_name) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
...및 그에 따른 오류 메시지:
SQL 구문에 오류가 있습니다. 4행의 'FORECTIVE KEY (fk_name) REFERENCE reftable (refcolumn) ON DELETE CASCADE' 근처에서 사용할 올바른 구문은 MySQL Server 버전에 해당하는 설명서를 참조하십시오.
이것을 시험해 보세요.
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
ADD FOREIGN KEY fk_name(fk_column) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
다음 쿼리는 쿼리를 변경하여 열을 추가하고 제약 조건 쿼리는 단일 mysql 쿼리에서 열을 FK로 만듭니다.이렇게 해도 되고
구문:
ALTER TABLE `SCHEMANAME`.`TABLE1`
ADD COLUMN `FK_COLUMN` BIGINT(20) NOT NULL,
ADD CONSTRAINT `FK_TABLE2_COLUMN` FOREIGN KEY (`FK_COLUMN`)
REFERENCES `SCHEMANAME`.`TABLE2`(`PK_COLUMN`);
예:
ALTER TABLE `USERDB`.`ADDRESS_TABLE`
ADD COLUMN `USER_ID` BIGINT(20) NOT NULL AFTER `PHONE_NUMBER`,
ADD CONSTRAINT `FK_CUSTOMER_TABLE_CUSTOMER_ID` FOREIGN KEY (`USER_ID`)
REFERENCES `USERDB`.`CUSTOMER_TABLE`(`CUSTOMER_ID`);
이것은 조금 간단하게 할 수 있습니다.FORENAL KEY 앞에 ADD 키워드를 추가하면 됩니다.아래에 예를 추가하겠습니다.
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
ADD FOREIGN KEY (fk_name) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
쓸 수 있어요.
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1);
ALTER TABLE database.table add FOREIGN KEY (fk_name) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
언급URL : https://stackoverflow.com/questions/1545253/how-to-add-a-column-and-make-it-a-foreign-key-in-single-mysql-statement
반응형
'it-source' 카테고리의 다른 글
vue + typescript에서 mapState 사용 (0) | 2023.01.23 |
---|---|
POST를 통해 같은 이름의 여러 입력을 php로 입력 (0) | 2023.01.23 |
.myd, .myi, .frm 파일에서 MySQL 데이터베이스를 복구하는 방법 (0) | 2023.01.23 |
MySQL - 하나의 INSERT 문에 몇 개의 행을 삽입할 수 있습니까? (0) | 2023.01.15 |
명령줄에서 PHP 코드 문자열 실행 (0) | 2023.01.15 |