MySQL关于外键重复插入忽略

标签 mysql sql

我试图在 image_id 重复时忽略插入:

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

如果我尝试为 item_id 2 添加 image_id 23,它将不会被插入,但对于 item_id 3 则会插入。

最佳答案

在 item_id 和 image_id 上创建唯一索引。

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

关于MySQL关于外键重复插入忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30399409/

相关文章:

php - 在 PHP/MySQL 中对列的相同行进行分组

mysql - 在 MYSQL 中用于分组依据的不同列的其他值中选择值

sql - 具有不同条件的多个 AVG 列

SQL Statement JOIN 只返回有关联的元素

php - CakePHP 3.0 连接数据库失败

mysql - 获取实体和过滤结果

php - MySQL PHP 在一段时间内随机排序?

mysql - 基于一个公共(public)列连接具有不同列和格式的两个表 - 需要显示重复项

mysql存储函数参数语法错误

mysql - 向 MySQL 数据库添加未知数量的值