Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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 “Yii2迁移”;“外键约束格式不正确”;_Php_Mysql_Sql_Yii2_Foreign Keys - Fatal编程技术网

Php “Yii2迁移”;“外键约束格式不正确”;

Php “Yii2迁移”;“外键约束格式不正确”;,php,mysql,sql,yii2,foreign-keys,Php,Mysql,Sql,Yii2,Foreign Keys,以下是我在迁移中添加外键的方式: $this->addForeignKey( 'fk-auth_item_ibfk_1', 'auth_item', 'rule_name', 'auth_rule', 'name', 'SET NULL', 'CASCADE' ); 例外情况: Exception 'yii\db\Exception' with message 'SQL

以下是我在迁移中添加外键的方式:

$this->addForeignKey(
        'fk-auth_item_ibfk_1',
        'auth_item',
        'rule_name',
        'auth_rule',
        'name',
        'SET NULL',
        'CASCADE'
    );
例外情况:

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000]: General error: 1005 Can't create table `yii`.`#sql-1ab_85` (errno: 150 "Foreign key constraint is incorrectly formed")
错误信息:

Error Info:
Array
(
[0] => HY000
[1] => 1005
[2] => Can't create table `yii`.`#sql-1ab_af` (errno: 150 "Foreign key constraint is incorrectly formed")
)

感谢您的帮助。我不知道为什么会这样。我已经检查了字段的类型和大小是否相同

确保字段“rule_name”和“name”的类型和/或长度相同(例如,都是INT(11)),是我检查的第一件事吗?除此之外,我完全不知道我认为定义的约束有问题。
'fk-auth_item_ibfk_1'
你能把它改成
fk_auth_item_ibfk_1
并检查一下吗。哈哈@davey思维一致:fk的名字很好。也许一张桌子是MyISAM,另一张是InnoDB?