【发布时间】:2011-09-12 19:31:07
【问题描述】:
有人知道如何使用“ON DELETE CASCADE”为“InnoDB”类型的表添加外键
【问题讨论】:
-
你检查过the documentation吗?
-
我已经为 MyISAM 执行了这个查询“ALTER TABLE tbl_businessalbum ADD CONSTRAINT fk_1 FOREIGN KEY (businessId) REFERENCES tbl_business (id) ON DELETE CASCADE”。查询成功执行 bt MyISAM 引擎不处理外键 DELETE CASCADE 属性dev.mysql.com/doc/refman/5.0/en/ansi-diff-foreign-keys.html。
-
ALTER TABLE yourtable ADD FOREIGN KEY xyzkey (field1, field2, ...) REFERENCES foreigntable (foreignfield1, foreignfield2, ...)。这是你可以在一微秒内用谷歌搜索的东西。 MyISAM 表根本不支持外键。任何外键指令都被忽略/丢弃。您必须使用 InnoDB 表作为外键。 -
@anamus php 您询问了 InnoDB,但在您的评论中您说您使用 MyISAM 进行了尝试。它在 MyISAM 中不受支持,但在 InnoDB 中可以正常工作
-
ALTER TABLE tbl_businessalbum ADD CONSTRAINT fk_1 FOREIGN KEY (businessId) REFERENCES tbl_business (id) ON DELETE CASCADE 我正在使用这个 bt 它显示了这个错误 #1005 - Can't create table 'mydb.# sql-9ec_f0' (errno: 150)
标签: php sql foreign-keys