1
MySQL數據庫的概念,我有這個表用於存儲照片信息:的照片庫
CREATE TABLE foto (
id int(11) NOT NULL auto_increment,
id_galerie int(11) NOT NULL,
filename varchar(255) NOT NULL,
sort_nr int(11) NOT NULL default 1,
UNIQUE KEY (id_galerie, sort_nr),
PRIMARY KEY (id)
)
我需要自動增量列sort_nr,但只在一個id_galerie方面。 所以,我想這個插入查詢:
INSERT INTO foto (id_galerie, filename)
VALUES
(1, 'filename'),
(1, 'another filename'),
(1, 'anothername'),
(1, 'another value')
ON DUPLICATE KEY UPDATE sort_nr = sort_nr+1
但它拋出一個錯誤(#1062 - 重複關鍵 'id_galerie' 進入 '1-2')。 如果密鑰不唯一,我如何強制sort_nr自動遞增?
謝謝,它似乎工作。雖然我很困惑。 –
@lineman如果你在InnoDB引擎上,競爭條件會在這裏發生......因爲不計算MAX計算..不建議這樣生成你自己的auto_increment –
@Raymond我會一次只爲一行插入查詢。那麼這不會是一個問題,是嗎? –