Below you will find pages that utilize the taxonomy term “发号器”
July 23, 2014
MySQL 更新并返回计数
"对于想使用 MySQL 实现简单 ID 分配器, 一般就是设置一个整数字段, 然后想分配的时候加 1 并返回. 新手往往犯错误, 先执行一条 update 语句, 然后再 select 那个字段. 但这是错误的!\nCREATE TABLE `mytable` ( `counter` int(10) NOT NULL DEFAULT \u0026#39;0\u0026#39; ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into mytable values(1); 正确的方式应该是使用 last_insert_id() 函数:\nupdate mytable set counter=last_insert_id(counter+1); select last_insert_id(); 另一种方法(http://imysql.cn/2010/07/01/mysql-faq-using-mysql-as-serial-generator.html):\nSELECT `ID` FROM `ID_RANGE_XX` ORDER BY ID LIMIT 1 FOR …"