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