如何解决mysql代码的errno 150? [复制]

Posted

技术标签:

【中文标题】如何解决mysql代码的errno 150? [复制]【英文标题】:how to solve errno 150 for a mysql code? [duplicate] 【发布时间】:2015-05-15 05:48:12 【问题描述】:

为什么创建第二个表(标签)我得到错误?

$sql = "CREATE TABLE IF NOT EXISTS Articls (
            id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,     
            name VARCHAR(254) COLLATE utf8_persian_ci NOT NULL,                     
            alias INT(10) UNSIGNED NOT NULL
)   DEFAULT COLLATE utf8_persian_ci";


/////////////////////////////////////////////////////////////////////////

$sql = "CREATE TABLE IF NOT EXISTS Tags (
            id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,  
            alias INT(10) UNSIGNED NOT NULL,    
            name VARCHAR(256) COLLATE utf8_persian_ci NOT NULL,    
            FOREIGN KEY (alias) REFERENCES Articls (alias)      
) DEFAULT COLLATE utf8_persian_ci";

错误:

表格文章创建成功/创建错误标签:无法创建 表 'admin_pars.Tags' (errno: 150)

【问题讨论】:

【参考方案1】:

您的外键引用正在引用Articls 中的任意列。随便你:

FOREIGN KEY (alias) REFERENCES Articls (id)  
                                      //^^ 

或者,您想将alias 声明为Articls 中的唯一键。

【讨论】:

以上是关于如何解决mysql代码的errno 150? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Mysql:无法创建表 errno 150

mysql。无法创建表 errno 150

错误代码: 1005 Can't create table 'hibernate.bill' (errno: 150)

MySQL:创建带有 FK 错误的表 (errno 150)

MySQL创建表:错误1005 errno:150“外键约束形成错误”

MySQL + Rails:errno:150“外键约束格式不正确”