【发布时间】:2013-03-31 16:27:43
【问题描述】:
我有一个mysql表ip_list...
+----+---------------+
| id | ip_addr |
+----+---------------+
| 1 | 192.168.100.1 |
| 2 | 192.168.100.2 |
| 3 | 192.168.100.3 |
| 4 | 192.168.100.4 |
| 5 | 192.168.100.5 |
+----+---------------+
我只想添加不在ip_addr 列中的记录。
前任
我有以下记录要添加到ip_addr 表中
192.168.100.6
192.168.100.10
192.168.100.11
192.168.100.1 //already in column
192.168.100.12
我不想添加192.168.100.1,因为它已经在列中。
那么,INSERT 查询是否可以先检查记录再插入?
目前,我正在这样做......首先我SELECT记录然后匹配它,然后INSERT它。
但是,我只想处理一个查询。
【问题讨论】:
-
是另一张表的记录/。
-
您可以在 ip 列中添加唯一索引,然后您将得到
INSERT .. ON DUPLICATE KEY或INSERT IGNORE -
将
ip_addr设为unique字段 -
在我自己看来,在列上添加唯一约束会是一个更好的主意。
-
@YogeshSuthar 是的,这就是我想要的,让我检查它的工作与否
标签: php mysql sql sql-insert