作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用外键创建表时出现问题。你能帮我解决一下吗?错误是:SQL查询:
ALTER TABLE users ADD CONSTRAINT FK_users FOREIGN KEY (groupname_id) REFERENCES groups(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
MySQL 说:文档
CREATE TABLE IF NOT EXISTS `groups` (
`group_id` int(11) NOT NULL AUTO_INCREMENT,
`group_level` varchar(100) DEFAULT NULL,
`groupname` varchar(100) NOT NULL,
PRIMARY KEY (`group_id`),
KEY idx_groupname (groupname)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=64 ;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`username` varchar(100) NOT NULL,
`password` char(100) NOT NULL,
`phone` varchar(100) DEFAULT NULL,
`is_active` int(1) NOT NULL DEFAULT '0',
`groupname_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
ALTER TABLE users
ADD CONSTRAINT FK_users
FOREIGN KEY (groupname_id) REFERENCES groups(group_id)
ON UPDATE CASCADE
ON DELETE CASCADE;
最佳答案
正如我在评论中提到的,问题是 users
表上的 groupname_id
是未签名的,而 上的
表已签名。group_id
>groups
这是一种预感,所以我对其进行了测试,并且刚刚成功地在我的 test
数据库中添加和更改了这些表。 Windows 上的 MySQL 5.6.16。
CREATE TABLE IF NOT EXISTS `groups` (
`group_id` int(11) NOT NULL AUTO_INCREMENT,
`group_level` varchar(100) DEFAULT NULL,
`groupname` varchar(100) NOT NULL,
PRIMARY KEY (`group_id`),
KEY idx_groupname (groupname)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=64 ;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`username` varchar(100) NOT NULL,
`password` char(100) NOT NULL,
`phone` varchar(100) DEFAULT NULL,
`is_active` int(1) NOT NULL DEFAULT '0',
`groupname_id` int(11) NOT NULL, -- should be signed, not unsigned, just like above
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
ALTER TABLE users
ADD CONSTRAINT FK_users
FOREIGN KEY (groupname_id) REFERENCES groups(group_id)
ON UPDATE CASCADE
ON DELETE CASCADE;
关于mysql - (Mysql 错误 : #1215 - Cannot add foreign key constraint) for my program,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381818/
我是一名优秀的程序员,十分优秀!