MySQL 更新并返回计数

对于想使用 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://www.ideawu.net/blog/archives/816.html

另一种方法:

http://imysql.cn/2010/07/01/mysql-faq-using-mysql-as-serial-generator.html

10 thoughts on “MySQL 更新并返回计数

  1. Pingback: https://biznesblog.biz.pl/forum/misz-masz-f7/smaczne-jedzenie-t33.html

  2. Pingback: 바카라

  3. Pingback: paper crafting dies

  4. Pingback: Where Does Gold Come From Youtube and Why is Gold Rare

  5. Pingback: fake preowned patek philippe watches

  6. Pingback: fun 88

  7. Pingback: agen domino99 online

  8. Pingback: ウォーターサーバー

  9. Pingback: cbdistic

  10. Pingback: kayseri escort

Comments are closed.