关于主外键和主键自增的问题 数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 贴出 show create table a; show create table b 以供分析。 把 创建 FK 的语句发上来,个人怀疑如下:1.FK 你给弄反了,你的本意是 B 引用A,结果设计成 A 引用 B了2.你在表B上有TR(也可能不是TR),要在表A写数据,但是由于有其他的什么原因,数据写入失败,自增列就跳号了; | user | CREATE TABLE `user` ( `user_email` varchar(50) NOT NULL, `user_name` varchar(20) NOT NULL, `user_pass` varchar(30) NOT NULL, `toefl` int(3) DEFAULT NULL, `gre` int(3) DEFAULT NULL, `greWrite` float(2,1) DEFAULT NULL, `GPA` float(5,2) DEFAULT NULL, PRIMARY KEY (`user_email`)) ENGINE=MyISAM DEFAULT CHARSET=gbk || activities | CREATE TABLE `activities` ( `id` int(4) NOT NULL AUTO_INCREMENT, `record` varchar(80) DEFAULT NULL, `user_email` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `user_email` (`user_email`)) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=gbk |我用show create tables显示出来的,我已经把自增ID去掉了,可是我往activities表里添加记录,user没有他相应的email仍然不受影响 楼主需要注意这个 ENGINE=MyISAMmyisam 是不支持外键的。 额,我没加这个啊?他自己出来的。。还是说mysql不支持外键? 斑竹回答的很清楚了啦,myisam引擎不支持外键 Mysql的主键聚集索引问题 帮忙改一条SQL语句 【小问题三:不能连接MYSQL错误2003】 怎么将MYSQL数据库打进安装包里 VS2005中连接MYSQL失败 order by 的问题 有个字段需要自动增长,相应的SQL语言是啥?? Linux(Fedora core 3) 下自带的mysql配置的问题 Mysql 问题 java连接mysql,oracle,sqlserver的类(源代码): Fedora20 下安装不了 mysql5.6 mysql cluster 问题不理解,希望朋友帮下。
1.FK 你给弄反了,你的本意是 B 引用A,结果设计成 A 引用 B了
2.你在表B上有TR(也可能不是TR),要在表A写数据,但是由于有其他的什么原因,数据写入失败,自增列就跳号了;
`user_email` varchar(50) NOT NULL,
`user_name` varchar(20) NOT NULL,
`user_pass` varchar(30) NOT NULL,
`toefl` int(3) DEFAULT NULL,
`gre` int(3) DEFAULT NULL,
`greWrite` float(2,1) DEFAULT NULL,
`GPA` float(5,2) DEFAULT NULL,
PRIMARY KEY (`user_email`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk |
| activities | CREATE TABLE `activities` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`record` varchar(80) DEFAULT NULL,
`user_email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `user_email` (`user_email`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=gbk |
我用show create tables显示出来的,我已经把自增ID去掉了,可是我往activities表里添加记录,user没有他相应的email仍然不受影响