0
我有一張桌子,上面有兩個木偶的獨特約束。REPLACE INTO ... ON DUPLICATE KEY UPDATE
CREATE TABLE `targets` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`client` SMALLINT(6) UNSIGNED NOT NULL,
-- some more fields here
`order_column` INT(10) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `client_order_column` (`client`, `order_column`)
)
,現在我想更新它的話,那order_column
將包含增量整數,從0
爲每client
值。我試圖讓這種方式:
replace into targets (
`id`,
`client` ,
`order_column`
)
(select
`id`,
`client` ,
0 as order_column from targets
)
on duplicate key update
order_column = order_column + 1
,但在最後一行越來越syntax error
。我無法意識到,怎麼了,請幫助我。
順便說一句:有沒有更好的方法來達到預期的效果?
但是'VALUES(order_column)'始終爲0! – k102 2013-02-26 11:50:12
如果你執行'ON DUPLICATE KEY UPDATE order_column = order_column + 1' – 2013-02-26 11:50:45
錯誤是'Column'order_column'在字段列表中不明確' – k102 2013-02-26 11:55:59