Php MySQL的更多详细信息';s:150
我正在使用PHP的PDO驱动程序/API/库在MySQL中创建一些表。当MySQL由于外键约束问题而无法创建表时,它将返回以下错误 无法创建表“dbname.table_name”(错误号:150)Php MySQL的更多详细信息';s:150,php,mysql,Php,Mysql,我正在使用PHP的PDO驱动程序/API/库在MySQL中创建一些表。当MySQL由于外键约束问题而无法创建表时,它将返回以下错误 无法创建表“dbname.table_name”(错误号:150) 是否有必要让MySQL告诉您(或自动查找/分析)它无法创建表的原因。例如,如果您试图创建一个包含10个外键的表,而其中一个外键无效,有没有办法让MySQL告诉您哪一个是有问题的键?或者你需要依靠人类的智慧和调试来自己解决这个问题吗?我能找到的最接近的方法是使用perror命令 它不会给出细粒度的细节
是否有必要让MySQL告诉您(或自动查找/分析)它无法创建表的原因。例如,如果您试图创建一个包含10个外键的表,而其中一个外键无效,有没有办法让MySQL告诉您哪一个是有问题的键?或者你需要依靠人类的智慧和调试来自己解决这个问题吗?我能找到的最接近的方法是使用
perror
命令
它不会给出细粒度的细节,但会给您一个简单的错误代码解释
$ perror 150
MySQL error code 150: Foreign key constraint is incorrectly formed
$ perror 151
MySQL error code 151: Cannot add a child row
显示引擎状态innodb
将有一个“最后一个外键错误”部分,告诉您FK操作失败的原因。查看此帖子