免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4106 | 回复: 7
打印 上一主题 下一主题

innodb auto_increment id 做主键的时候注意了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-27 11:32 |只看该作者 |倒序浏览
CREATE TABLE `ivan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=Innodb DEFAULT CHARSET=latin1;

insert into ivan(id, content) values(-100, '');

show create table ivan;

[ 本帖最后由 showsa 于 2009-2-27 11:33 编辑 ]

评分

参与人数 1可用积分 +5 收起 理由
枫影谁用了 + 5 我很赞同

查看全部评分

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-02-27 11:45 |只看该作者
刚在5.1.30上试了下这个。有这样的的问题。

mysql> insert into ivan(id, content) values(100, '');
Query OK, 1 row affected (0.00 sec)

mysql> select * from ivan;
+------+---------+
| id   | content |
+------+---------+
| -100 |         |
|  100 |         |
+------+---------+
2 rows in set (0.00 sec)

论坛徽章:
0
3 [报告]
发表于 2009-02-27 11:47 |只看该作者
会出现


CREATE TABLE `ivan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18446744073709551517 DEFAULT CHARSET=latin1



这是5.1.26 和5.1.30下测试出现

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
4 [报告]
发表于 2009-02-27 11:49 |只看该作者
原帖由 showsa 于 2009-2-27 11:47 发表
会出现


CREATE TABLE `ivan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18446744073709551517 DEFAULT CH ...


哥们提下这bug呗。


这个bug我提过了。
mysql> select count(*) from ivan;
+----------+
| count(*) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

mysql> TRUNCATE ivan;
Query OK, 0 rows affected (0.02 sec)

mysql> select count(*) from ivan;
+----------+
| count(*) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

mysql>

论坛徽章:
0
5 [报告]
发表于 2009-02-27 14:03 |只看该作者
不是吧,竟然还有这样的低级bug

sun真让人太失望了。。。。。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
6 [报告]
发表于 2009-02-27 14:52 |只看该作者

回复 #5 huifeideluotuo 的帖子

去看看bug列表,类似的bug很多哦

论坛徽章:
0
7 [报告]
发表于 2009-02-27 21:32 |只看该作者

回复 #5 huifeideluotuo 的帖子

没有软件是没有BUG的。

论坛徽章:
0
8 [报告]
发表于 2009-02-28 10:06 |只看该作者
原帖由 showsa 于 2009-2-27 11:32 发表
CREATE TABLE `ivan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=Innodb DEFAULT CHARSET=latin1;

insert into ivan(id, content) v ...


呵呵,自己故意捣乱啊,设定下sql_mode,规范化下就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP