为什么创建第二个表(标签)时出现错误?
$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";
错误:
Table Articls created successfully / Error creating Tags: Can't create table 'admin_pars.Tags' (errno: 150)
最佳答案
您的外键引用正在引用 Articles
中的任意列。要么你想要:
FOREIGN KEY (alias) REFERENCES Articls (id)
//^^
或者,您希望将 alias
声明为 Articles
中的唯一键。
关于php - 如何解决mysql代码的errno 150?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29020487/