3

我目前正在关注一个教程,并学习如何在我现有的网站中构建一些东西。

该教程告诉我,我需要对我的数据库运行它

ALTER TABLE posts ADD FOREIGN KEY(post_by) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE;

我收到一个错误,说它不能创建表。

“用户”表来自我现有的数据库,其他一切都是新的。

本教程为我提供了一些更改命令来运行,它们都很完美,除非我尝试使用“用户”表。

我完全坚持这一点,任何帮助将不胜感激。

干杯

4

2 回答 2

8

检查您的表类型。应该是InnoDB

于 2012-11-15T13:54:34.090 回答
1

看看http://dev.mysql.com/doc/refman/5.1/en/alter-table.html,每个引擎都有哪些选项非常清楚。

看看描述的部分:

InnoDB 存储引擎支持 FOREIGN KEY 和 REFERENCES 子句

和:

对于其他存储引擎,这些子句被解析但被忽略。

正如 h2ooooooo 所说,您可以通过以下方式更改引擎:

ALTER TABLE table ENGINE = INNODB
于 2012-11-15T14:15:43.850 回答