mysql插入一行数据,其中一个值为当前该列的最大值,怎么实现?

[复制链接]
查看11 | 回复4 | 2011-3-8 12:32:51 | 显示全部楼层 |阅读模式
我使用:
set @a := select max(goodsid) from resulttable
INSERT INTO resulttable (goodsid, url) values (@a+1,'bird')
报错:
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 max(goodsid) from resulttable
INSERT INTO resulttable (goodsid, url) val' at line 1

回复

使用道具 举报

千问 | 2011-3-8 12:32:51 | 显示全部楼层
INSERT INTO resulttable (goodsid, url) select max(goodsid)+1,'bird' from resulttable
回复

使用道具 举报

千问 | 2011-3-8 12:32:51 | 显示全部楼层
INSERT INTO resulttable (goodsid, url)select max(goodsid)+1,'bird' from resulttable
回复

使用道具 举报

千问 | 2011-3-8 12:32:51 | 显示全部楼层
INSERT INTO resulttable (goodsid, url) values ((SELECT MAX(goodsid)+1 form resulttable),'bird')嵌套一个查询试试
回复

使用道具 举报

千问 | 2011-3-8 12:32:51 | 显示全部楼层
set @a := select max(goodsid) from resulttable ; 这里加个分号就可以了....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行