你知道为什么mysql创建这个表失败了吗?

时间:2015-04-09 13:00:43

标签: mysql

也许我的问题很愚蠢......但是当我这样做时,我还没有发现问题:

CREATE TABLE prefixes (
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id), 
INDEX id (id)) 
ENGINE = InnoDB AUTO_INCREMENT = 1 
DEFAULT CHARACTER SET = utf8;

Mysql说:

ERROR 1005 (HY000): Can't create table 'sms.prefixes' (errno: 150)

我虽然旧的外键或其他东西指向/使用此表,但我做了导出(完成)并在导出中搜索了键"前缀"我找不到任何东西,所以没有外键问题或其他东西,如果我创建相同的表但是命名它"前缀2"或者其他一些工作!!! 如果有人有任何线索可能会有所帮助。

谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

CREATE TABLE `sms.prefixes` (
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id), 
INDEX id (id)) 
ENGINE = InnoDB AUTO_INCREMENT = 1 
DEFAULT CHARACTER SET = utf8;

SQL FIDDLE DEMO

答案 1 :(得分:0)

我这样做了:

SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY';

但是我找不到任何外键指向(或命名)"前缀"或类似的东西,这让我发疯。