Mysql外键创建1005 - Can't create table 'ds_article.#sql-770_b2' (errno: 150)错误

Mysql外键创建1005 - Can't create table 'ds_article.#sql-770_b2' (errno: 150)错误,第1张

我执行了,没问题啊,能建外键的。

mysql>DROP TABLE IF EXISTS `ds_admin`

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>CREATE TABLE `ds_admin` (

-> `Admin_ID` int(11) NOT NULL AUTO_INCREMENT,

-> `username` varchar(20) NOT NULL,

-> `password` varchar(26) NOT NULL,

-> PRIMARY KEY (`Admin_ID`)

->) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

Query OK, 0 rows affected (0.08 sec)

mysql>

mysql>DROP TABLE IF EXISTS `admin_log`

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>CREATE TABLE `admin_log` (

-> `ID` int(11) NOT NULL AUTO_INCREMENT,

-> `Admin_ID` int(11) DEFAULT NULL,

-> `time` date DEFAULT NULL,

-> `viscera` varchar(1000) DEFAULT NULL,

-> PRIMARY KEY (`ID`)

->) ENGINE=InnoDB DEFAULT CHARSET=utf8

Query OK, 0 rows affected (0.08 sec)

mysql>

mysql>ALTER TABLE admin_log ADD FOREIGN KEY(Admin_ID) REFERENCES ds_admin(Admin

_ID) ON DELETE RESTRICT ON UPDATE RESTRICT

Query OK, 0 rows affected (0.14 sec)

Records: 0 Duplicates: 0 Warnings: 0

问题:你试图引用的其中一个外键没有建立起索引,或者不是一个primary key , 如果其中一个不是primary key 的话,你必须为它创建一个索引。

解决:在bbs_login表中建立user_name的索引。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11839470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存