Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL的更多详细信息';s:150_Php_Mysql - Fatal编程技术网

Php MySQL的更多详细信息';s:150

Php MySQL的更多详细信息';s:150,php,mysql,Php,Mysql,我正在使用PHP的PDO驱动程序/API/库在MySQL中创建一些表。当MySQL由于外键约束问题而无法创建表时,它将返回以下错误 无法创建表“dbname.table_name”(错误号:150) 是否有必要让MySQL告诉您(或自动查找/分析)它无法创建表的原因。例如,如果您试图创建一个包含10个外键的表,而其中一个外键无效,有没有办法让MySQL告诉您哪一个是有问题的键?或者你需要依靠人类的智慧和调试来自己解决这个问题吗?我能找到的最接近的方法是使用perror命令 它不会给出细粒度的细节

我正在使用PHP的PDO驱动程序/API/库在MySQL中创建一些表。当MySQL由于外键约束问题而无法创建表时,它将返回以下错误

无法创建表“dbname.table_name”(错误号:150)


是否有必要让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操作失败的原因。查看此帖子