Mysql,如果所有列都不存在则插入

时间:2013-08-22 03:08:44

标签: mysql sql insert sql-insert

我有一个包含3列的表格。没有列是唯一键。

我想仅在行中不存在每个列中具有完全相同值的行时才运行插入。

given the following table:
a   b   c
----------
1   3   5
7   1   3
9   49  4

a=3 b=4 c=3    should insert
a=7 b=1 c=3    should not insert (a row with these exact values exists)

到目前为止,我找到的解决方案需要一个唯一的主键。

2 个答案:

答案 0 :(得分:0)

最有效的方法是在表格中添加 UNIQUE KEY 。您还可以创建一个比较值的算法,但如果表中有很多列,则不希望这样做。

答案 1 :(得分:0)

我不确定,我明白你的观点。但希望这有帮助。

首先,您必须使用WHERE子句

选择行
SELECT * FROM table WHERE a=$a && b=$b && c=$c

之后,如果数组或行存在,则使用fetch_array或fetch_row,这意味着“不插入”。