1

我有一个有 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)

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

4

2 回答 2

0

The most efficient way is adding a UNIQUE KEY to your table. You can also make an algorithm for comparing the values but you do not want to do that if you have many columns in your table.

于 2013-08-22T03:39:32.123 回答
0

我不确定,我明白你的意思。但希望这会有所帮助。

首先,您必须选择带有 WHERE 子句的行

SELECT * FROM table WHERE a=$a && b=$b && c=$c

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

于 2013-08-22T03:49:42.457 回答