2015-05-22 165 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`)