mysql - 使用外键创建表 - 错误 150

标签 mysql sql innodb

实际上,我使用这个sql脚本在mysql 5.0.24上创建表方案,它工作正常,问题是当我在mysql 5.5.16上尝试相同的脚本时,我收到以下错误消息:

general error message from server: "can't create table 'amdb.am_wta_methodtree' (errno: 150)"

这是我的 sql:

create table AM_WTA_MethodInstance(
"ID" BIGINT NOT NULL,
"TRANSACTIONID" BIGINT NOT NULL,
"INVOCATIONTIME" BIGINT NOT NULL,
"METHODIDENTIFIERID" BIGINT NOT NULL,
"THREADID" VARCHAR(255) NOT NULL,
"INCLUSIVETIME" BIGINT NOT NULL DEFAULT 0,
"EXCLUSIVETIME" BIGINT NOT NULL DEFAULT 0,
"STATUS" INTEGER(1) NOT NULL DEFAULT 0,
"EXCEPTIONMESSAGE" TEXT,
PRIMARY KEY ("ID"),
FOREIGN KEY(METHODIDENTIFIERID) REFERENCES AM_WTA_MethodIdentifier(ID),
FOREIGN KEY(TRANSACTIONID) REFERENCES AM_WTA_Transaction(TRANSACTIONID) ON DELETE CASCADE)

create table AM_WTA_MethodTree(
"PARENTID" BIGINT NOT NULL,
"CHILDID" BIGINT NOT NULL,
"INVOCATIONTIME" BIGINT NOT NULL,
PRIMARY KEY ("PARENTID","CHILDID"),
FOREIGN KEY(PARENTID,CHILDID) REFERENCES AM_WTA_MethodInstance(ID,ID) ON DELETE CASCADE)

最佳答案

如果您创建表提交并在创建外键后它应该可以工作。

谢谢

关于mysql - 使用外键创建表 - 错误 150,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18966912/

相关文章:

php - Yii: php -> 无法在 SiteController 中执行 SQL 命令

sql - 如何从数据库中删除除最大日期外具有相同日期的数据。 rails 3

mysql - 从表中删除一行

java - 如何以编程方式将 HQL 转换为 SQL 查询(不记录)

MySQL 5.6 InnoDB 全文搜索

database - mysql服务启动不起来,InnoDB init function error

mysql - activemdb基类不能被继承?

MySQL 工作台扩展属性?

php - 确定排序表中每一行的排名

sql - 主 SQL View