写真情報を保存するための次のテーブルがあります。
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を自動インクリメントする必要がありますが、1 つの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を強制的に自動インクリメントするにはどうすればよいですか?