mySQL损坏"无法添加外键约束"试图创建表

时间:2014-10-18 05:28:18

标签: mysql syntax-error corruption

编辑这是一个损坏的mySQL DB问题。请参阅下面的“编辑:”

尝试将名为client的表添加到新的mySQL DB中:

CREATE TABLE `client` (
    `id`            INT NOT NULL AUTO_INCREMENT,
    `person_id`     INT NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;

每次我得到:#1215 - Cannot add foreign key constraint

我查看了我能找到的所有保留字列表。他们似乎都没有“客户”。

我可以使用“客户端”(但不喜欢将表作为复数 - 其他所有其他都是单数),“clientxxx”等。我真的想使用“客户端”。这有什么方法吗?重要的是,他们是客户而非患者。

PS我已经从数据库中删除了所有其他表,但仍然无法飞行。

PPS虽然未列出CLIENT 实际上是SQL中的一个******保留字(或至少HeidiSQL列出了它。是否有围绕它的任何方式?(我想我知道那个问题的答案。)为什么它不在mySQL保留字列表中呢?

编辑: 确定删除旧数据库。尝试使用名为testxxx的数据库并且工作正常。试图将DB重命名为旧名称= betadb01并获得:

Database "betadb01" exists. but it does not contain objects with the same names as in "testxxx", so it's uncritical to move everything. Move all objects to "betadb01"?

...说是,然后得到SQL error (1025) ... errno 150 - foreign key constraint is incorrectly formed

我已经在HeidiSQL中运行了所有修复选项。通过修复和分析日志查看相关数据库无处可见。我可以很容易地重命名数据库并解决问题,但这有点紧张。我有什么想法可以解决这个问题吗?导出我的其他数据库后完全重新安装mySQL ???

0 个答案:

没有答案