为什么创建第二个表(标签)我收到错误?
$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";
错误:
表格Articls创建成功/错误创建标记:无法创建 表'admin_pars.Tags'(错误号:150)
答案 0 :(得分:1)
您的外键引用引用Articls
中的任意列。要么你想要:
FOREIGN KEY (alias) REFERENCES Articls (id)
//^^
或者,您希望将alias
声明为Articls
中的唯一键。