在mysql中,我可以在同一个语句中添加列和外键吗?添加fk的正确语法是什么?
这是我的SQL:
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
FOREIGN KEY (fk_name) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
...以及随附的错误消息:
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第4行使用'FOREIGN KEY(fk_name)REFERENCES reftable(refcolumn)ON DELETE CASCADE'附近使用正确的语法
Asa*_*aph 82
试试这个:
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
ADD FOREIGN KEY fk_name(fk_column) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
Luc*_*cky 27
以下查询通过alter query添加列,约束查询使其成为单个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`);
Run Code Online (Sandbox Code Playgroud)
例:
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`);
Run Code Online (Sandbox Code Playgroud)
这可以简化一点。您只需要在“FOREIGN KEY”之前添加“ADD”关键字。下面添加示例。
ALTER TABLE database.table
ADD COLUMN columnname INT DEFAULT(1),
ADD FOREIGN KEY (fk_name) REFERENCES reftable(refcolumn) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78627 次 |
| 最近记录: |