[英]MySQL statement to alter a table fails to work
我想通过为子表提供外键来更改子表,像这样通过其ID引用父表
CREATE TABLE PARENT (parentID int not null auto_increment primary key,...);
CREATE TABLE CHILD (childID int not null auto_increment primary key, parentID int not null,...);
现在修复已创建表的语句是
ALTER TABLE child CHANGE parentID parentID int not null foreign key references parent(childID) ON DELETE CASCADE;
这行不通。 任何帮助表示赞赏。 谢谢。
说啊:
ALTER TABLE `CHILD`
ADD FOREIGN KEY (parentId) REFERENCES `PARENT`(parentId) ON DELETE CASCADE;
无需更改(afaik)列类型,因为它已经正确了。
请查看有关ALTER的T-SQL语法的MSDN库 。 您可能想要类似的东西:
ALTER TABLE Child ALTER COLUMN...
您的最后一行的外键列名称引用错误,应引用parentID而不是childID。 您那里也有一些语法错误。
尝试以下方法:
ALTER TABLE child CHANGE parentID parentID int not null,
add foreign key (parentID) references parent(parentID) ON DELETE CASCADE;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.