时,我有两个表:sys_users
和sys_roles
。MySQL错误没有105,创造了foriegn键约束
创建两个表后,我试着用下面的语句创建外键:
Alter table `hr_001`.`sys_users`
add constraint
`constraint_user_role` foreign key (`Role`) references
`hr_001`.`sys_roles`(`ID`) on delete Set null
但它给我下面的错误
查询:ALTER TABLE
hr_001
。sys_users
添加约束constraint_user_role
外键(Role
)引用hr_001
。sys_roles
(ID
...Error Code: 1005 Can't create table 'hr_001.#sql-2e5c_1f' (errno: 150)
我的表创建语句是
CREATE TABLE `sys_users` (
`ID` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
`Username` VARCHAR (100) NOT NULL,
`Password` VARCHAR (100) NOT NULL,
`Active` TINYINT (1) NOT NULL DEFAULT '1',
`Role` INT (11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = INNODB AUTO_INCREMENT = 2 DEFAULT CHARSET = utf8;
CREATE TABLE `sys_roles` (
`ID` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
`Role` VARCHAR (50) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = INNODB AUTO_INCREMENT = 2 DEFAULT CHARSET = utf8;
任何人都可以在这方面的帮助?
请发表这两个表的'create table code'。 – 1000111
http://stackoverflow.com/questions/825362/mysql-error-150-foreign-keys –
但我认为这是你应该寻找什么第一http://stackoverflow.com/questions/1233032/mysql-error-150 -cannot创建表 –