问题描述:其实就是实现一个流水号的自动增长。MySQL数据表有一张“t_record”表,其中“serial_num”字段表示流水号,从1开始。现在想实现该字段自动增长。
补充:表中已经有主键字段“id”,所以不能将“serial_num”设置为auto_increment。
所以请问各位有什么简便的思路吗?
补充:(使用触发器后,我尝试一下多线程插入,然后就报这个错误了。这是频繁触发触发器导致的错误吗?应该怎么避免?
)
首先一张表可以同时有多个字段auto_incrementde的,如果你想要用一个字段来表示流水号,可以考虑时间+序号来生成,用触发器,当往这张表插入数据时,生成一个流水号绑定这条数据即可。
为什么同时存在 主键字段“id” 和 “serial_num”?
把id当serial_num使用,不行的?
如果非得要 serial_num 自增,要么在插入的时候,就计算好,直接插入值;要么在数据库里,写个触发器,每次set serial_num = max(serial_num) +1