2015-05-22 218 views
0

我試圖讓插入忽視的image_id上重複:MySQL的外鍵重複插入忽略

INSERT INTO `images`(item_id, image_id) VALUES ("2", "23") // ignore when item_id 2 already have a record with image _id 23 

images 
------ 

item_id  image_id 
-------  -------- 
    1   22 
    1   23 
    1   55 
    2   23 
    2   46 
    2   57 
    3   46 

如果我將嘗試添加image_id 23 ITEM_ID 2,它不會被插入,但對於item_id 3它會。

+0

如果這是爲了發票的行項目的目的,那麼最好有另一列說明數量。因爲通過這種方式,您不需要爲同一訂單項(image_id)添加兩行,但將數量更新爲2. –

+0

每個Item_id應該只有一行用於特定的image_id – shmnsw

回答

0

在item_id和image_id上​​創建唯一索引。

ALTER TABLE `images` 
ADD UNIQUE INDEX `my_image_index` (`item_id`, `image_id`)