- 积分
- 42
- UID
- 11194
- 阅读权限
- 10
- 注册时间
- 2012-4-3
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
先介绍表结构
表名 mtest
字段 id bigint, name varbinary;
主要目的是往mtest中插入语句,其中id的值是按照表中最大的加1得来,获取这个值的sql语句是正确的,如下:
select ifnull(max(id), 0)+1 from mtest;
然后希望是通过在一句sql语句中完成id值的生成和插入,来避免并发时导致的冲突。
因此我想写的sql语句如下:
插入语句 insert into mtest values (select ifnull(max(id), 0)+1 from mtest, 'china');
主要的错误信息如下:
[SQL] insert into mtest values (select ifnull(max(id), 0)+1 from mtest, 'china');
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select ifnull(max(id), 0)+1 from mtest, 'china')' at line 1
|
|