0

我有一个包含两列(idA 和 idB)的表。该表将 Bs 分配给 As,如下所示:

    A  |  B
    1  |  4
    3  |  2
    3  |  4
    4  |  1
    4  |  3  ...

所以一个 A 可以有多个 B,因此出现在多行中。因此,表不能有主键,我不能使用唯一列。

有没有办法只在一个查询中不存在相等的值对时才插入新行?

我尝试了这里提到的 REPLACE INTO 和 INSERT IGNORE INTO ,但两者似乎都只适用于具有主键的表。

4

1 回答 1

1

您可以添加主键!它只需要超过两列,而不仅仅是一列。

ALTER TABLE your_table
ADD PRIMARY KEY(idA, idB)

这将确保您只有两列的唯一记录。

于 2013-09-15T07:08:29.050 回答