0
我有一个表(foo
),其中我已经在id
一个PK:插入一个最大值(最大+ 1)
id name rank
-----------------------
1 AAAA 2
2 BBBB 1
我想插入新行,我知道id
列的值和name
,并且要求rank
的值大于前面行中同一列中的任何其他值(类似于auto_increment
对我们所做的)。
即,如果我要添加一行value
= CCCC
,那么rank
列的值应为3
。如果可能,我需要在复合语句中执行此操作。我尝试了以下不起作用。
insert into foo (`name`, `rank`)
values ('CCCC', (select max(`rank`) from `foo`))
使我有以下错误:
You can't specify target table 'foo' for update in FROM clause
注:我会非常喜欢有rank
列作为auto_increment
场,但显然这是不允许任何,因为我已经有PK。
PS:我需要能够在不使用存储过程的情况下从PHP执行此语句。
像一个魅力工程!第一个 – 2011-12-17 07:17:00