标签: mysql-error-150

MySQL:无法创建表(错误号:150)

我试图导入.sql文件,并在创建表时失败.

这是失败的查询:

CREATE TABLE `data` (
`id` int(10) unsigned NOT NULL,
`name` varchar(100) NOT NULL,
`value` varchar(15) NOT NULL,
UNIQUE KEY `id` (`id`,`name`),
CONSTRAINT `data_ibfk_1` FOREIGN KEY (`id`) REFERENCES `keywords` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;    
Run Code Online (Sandbox Code Playgroud)

我从同一个数据库导出.sql,我删除了所有的表,现在我试图导入它,为什么它失败了?

MySQL:无法创建表'./dbname/data.frm'(错误号:150)

mysql sql phpmyadmin mysql-error-150

152
推荐指数
11
解决办法
32万
查看次数

MySQL使用外键创建表,给出错误:150

我试图在MySQL中创建一个带有两个外键的表,它引用了另外两个表中的主键,但是我得到一个错误:150错误,它不会创建表.

这是所有3个表的SQL:

CREATE TABLE role_groups (
  `role_group_id` int(11) NOT NULL `AUTO_INCREMENT`,
  `name` varchar(20),
  `description` varchar(200),
  PRIMARY KEY (`role_group_id`)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `roles` (
  `role_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50),
  `description` varchar(200),
  PRIMARY KEY (`role_id`)
) ENGINE=InnoDB;

create table role_map (
  `role_map_id` int not null `auto_increment`,
  `role_id` int not null,
  `role_group_id` int not null,
  primary key(`role_map_id`),
  foreign key(`role_id`) references roles(`role_id`),
  foreign key(`role_group_id`) references role_groups(`role_group_id`)
) engine=InnoDB;
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

mysql foreign-keys mysql-error-150

96
推荐指数
6
解决办法
12万
查看次数

MySql错误150 - 外键

当我执行以下两个查询时(我已将它们剥离到绝对必要):

mysql> CREATE TABLE foo(id INT PRIMARY KEY);
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE TABLE bar ( id INT, ref INT, FOREIGN KEY (ref) REFERENCES foo(id)) ENGINE InnoDB;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:ERROR 1005(HY000):无法创建表'./test/bar.frm'(错误号:150)

****是我的错误?我盯着这个半小时没找到他.

mysql foreign-keys mysql-error-150

17
推荐指数
2
解决办法
5万
查看次数

标签 统计

mysql ×3

mysql-error-150 ×3

foreign-keys ×2

phpmyadmin ×1

sql ×1