MySQL 更新并返回计数
By admin
- One minute read - 45 words对于想使用 MySQL 实现简单 ID 分配器, 一般就是设置一个整数字段, 然后想分配的时候加 1 并返回. 新手往往犯错误, 先执行一条 update 语句, 然后再 select 那个字段. 但这是错误的!
CREATE TABLE `mytable` (
`counter` int(10) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into mytable values(1);
正确的方式应该是使用 last_insert_id() 函数:
update 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