如何解决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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
错误代码: 1005 Can't create table 'hibernate.bill' (errno: 150)
MySQL:创建带有 FK 错误的表 (errno 150)