无法创建表“socialnetwork”“login\u tokens”(errno:150“外键约束格式不正确”)

vwkv1x7d  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(251)

这个问题在这里已经有答案了

mysql创建带有外键的表,给出errno:150(20个答案)
两年前关门了。
我的数据库:

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\u令牌(errno:150“外键约束格式不正确”)(详细信息…)

3zwtqj6y

3zwtqj6y1#

您需要创建表 users 在创建表之前 login_tokens .
在您创建 login_tokens , users 还不存在,所以无法创建“外键”关系。

相关问题