无法创建表`socialnetwork`.`login_tokens`(errno:150“外键约束格式不正确”)[重复]
Posted
技术标签:
【中文标题】无法创建表`socialnetwork`.`login_tokens`(errno:150“外键约束格式不正确”)[重复]【英文标题】:Can't create table `socialnetwork`.`login_tokens` (errno: 150 "Foreign key constraint is incorrectly formed") [duplicate] 【发布时间】:2019-01-05 23:40:24 【问题描述】:我的数据库:
DROP TABLE IF EXISTS `login_tokens`;
CREATE TABLE `login_tokens` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`token` char(64) NOT NULL DEFAULT '',
`user_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `token` (`token`),
KEY `user_id` (`user_id`),
CONSTRAINT `login_tokens_ibfk_1`
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
# Dump of table users
# ------------------------------------------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) DEFAULT NULL,
`password` varchar(60) DEFAULT NULL,
`email` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
错误:
mysql 说:文档
1005 - 无法创建表
socialnetwork
.login_tokens
(errno: 150 "外键约束格式不正确") (详情...)
【问题讨论】:
您的 login_tokens 表正在寻找尚未创建的 users 表。 【参考方案1】:您需要先创建表users
在创建表login_tokens
。
在您创建login_tokens
时,users
尚不存在,因此无法创建“外键”关系。
【讨论】:
以上是关于无法创建表`socialnetwork`.`login_tokens`(errno:150“外键约束格式不正确”)[重复]的主要内容,如果未能解决你的问题,请参考以下文章