如何在单个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语法有错误, 检查对应于您的MySQL服务器版本的手册,以便在第4行的'FOREIGN KEY(fk_name)REFERENCES reftable(refcolumn)ON DELETE CASCADE'附近使用正确的语法

尝试这个:

 ALTER TABLE database.table ADD COLUMN columnname INT DEFAULT(1), ADD FOREIGN KEY fk_name(fk_column) REFERENCES reftable(refcolumn) ON DELETE CASCADE; 

以下查询通过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`); 

例:

 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`);