开2个cmd窗口,同时insert相同的数据,但结果却有点不明白!!!

wangsiyuanoo 2013-03-16 10:59:14
一张表accounttb
里面有2个字段:id(自增,主键),account(唯一索引)

一个插入存储过程:sp_insert(v_in_account char(51));
即将输入的v_in_account字符串变量插入到account字段上,id随之自增长

一个测试存储过程:sp_insert_test(v_in_start int, v_int_end int);
即调用sp_insert(),插入account%d(从v_in_start 到v_int_end ),比如是test1到test10

现在我做了这么一个测试:
同时开2个CMD窗口
用两个不同账号登陆
同时进行call sp_insert_test(1,1000)

按道理
id字段应该有从1-1000显示
但测试结果是总行数是1000,但中间id有没有等于6的,也有没有等于50的等等 最后一行的id为1920 而不是应该1000
即:
id account
1 test1
2
3
4
5
7
8
.
.
.
49
51
.
.
.
1920 test1000

不知道我说的大家明白不
谁能解释一下?
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2013-03-17
  • 打赏
  • 举报
回复
account是唯一索引 肯定会有1000个account%d重复的啊 必然失败1000次
wangsiyuanoo 2013-03-17
  • 打赏
  • 举报
回复
引用 3 楼 rucypli 的回复:
account%d是不出现重复 两个存储过程都会执行插入account1到account1000吧 肯定有10000个失败的 失败的sql的语句的id也是自增了 因为id会跳过去 你可以手动执行几条sql看看
谢谢你帮助!
rucypli 2013-03-17
  • 打赏
  • 举报
回复
account%d是不出现重复 两个存储过程都会执行插入account1到account1000吧 肯定有10000个失败的 失败的sql的语句的id也是自增了 因为id会跳过去 你可以手动执行几条sql看看
wangsiyuanoo 2013-03-17
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
account是唯一索引 肯定会有1000个account%d重复的啊 必然失败1000次
但我的理解是 account%d是不出现重复 两个CMD不管怎么insert 自增字段id不是应该还按照顺序排列的么 为什么会出现不连续的 新手求解释 谢谢

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧