我有一个包含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)
到目前为止,我找到的解决方案需要一个唯一的主键。
答案 0 :(得分:0)
最有效的方法是在表格中添加 UNIQUE KEY 。您还可以创建一个比较值的算法,但如果表中有很多列,则不希望这样做。
答案 1 :(得分:0)
我不确定,我明白你的观点。但希望这有帮助。
首先,您必须使用WHERE子句
选择行SELECT * FROM table WHERE a=$a && b=$b && c=$c
之后,如果数组或行存在,则使用fetch_array或fetch_row,这意味着“不插入”。