无法创建表`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“外键约束格式不正确”)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用JOOQ无法在SQLITE中更新表行

创建x_time_log表遍历成本核算

从分区文件结构创建 Impala 外部表

外部表的 ORACLE 目录权限

配置分布式hadoop时报错:mkdir:无法创建目录"/opt/apps/hadoop/logs": 权限不够

无法在 clickhouse 设置中添加设置“log_queries=1”