相关疑难解决方法(0)

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中删除相同的表?

在我的数据库中,我有一个Employee具有递归关联的表(员工可以是其他员工的老板):

create table if not exists `employee` (

  `SSN` varchar(64) not null,
  `name` varchar(64) default null,
  `designation` varchar(128) not null,
  `MSSN` varchar(64) default null, 
  primary key (`ssn`),
  constraint `fk_manager_employee`  foreign key (`mssn`) references employee(ssn)

) engine=innodb default charset=latin1;
Run Code Online (Sandbox Code Playgroud)

mysql> describe Employee;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| SSN         | varchar(64)  | NO   | PRI | NULL    |       |
| name        | varchar(64)  | YES  |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql triggers mysql-error-1442

13
推荐指数
1
解决办法
4896
查看次数

无法在MySQL中创建FOREIGN KEY CONSTRAINT

我在Ubuntu中使用phpMyAdmin 3.5.8.1deb1创建了我的MySQL数据库.

而不是我的所有表都是InnoDB,我不能添加外键,这是一个例子:

ALTER TABLE element ADD CONSTRAINT FK_element_id_user FOREIGN KEY (id_user) REFERENCES user(id) ON DELETE SET NULL ON UPDATE CASCADE;
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,我收到此错误:

#1005 - 无法创建表'tpw.#sql-4d8_e2'(错误号:150)(详情......)

当我点击细节时,我得到了这个:

InnoDB文档支持事务,行级锁定和外键

我试图在关系视图中手动添加FK

mysql foreign-keys phpmyadmin

5
推荐指数
1
解决办法
9074
查看次数