我现在正在学习教程,并学习如何在现有网站中构建内容。
教程告诉我,我需要针对我的数据库运行它
ALTER TABLE posts ADD FOREIGN KEY(post_by) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE;
并且我收到错误,说它无法创建表。
'users'表来自我现有的数据库,其他一切都是新的。
本教程给了我一些运行的alter命令,它们都很完美,除非我试图使用'users'表。
我完全坚持这一点,任何帮助将不胜感激。
干杯
答案 0 :(得分:8)
检查您的桌子类型。它应该是InnoDB
。
答案 1 :(得分:1)
看看http://dev.mysql.com/doc/refman/5.1/en/alter-table.html,非常明确每个引擎可用的选项。
查看描述的部分:
InnoDB支持FOREIGN KEY和REFERENCES子句 存储引擎
和
对于其他存储引擎,会解析子句但忽略它们。
正如h2ooooooo所说,你可以改变你的引擎:
ALTER TABLE table ENGINE = INNODB