Mysql条件插入(使用组合主键)

时间:2013-04-05 04:32:04

标签: mysql

我的表格有以下结构

id -- auto increment
name -- unique
group -- integer
Primary key(name,group)

我不想添加具有相同名称和组值的元素。

(i.e ("test",1) and ("test",1) should not be inserted.... and 
        ("test",1),("test",2) can be inserted).

如果不存在,我想插入一个值。我检查了Link

使用上面的链接可以进行操作,但问题是它只检查名称作为不与组合的键(即插入值(“test”,1)和(“test”,2) )没有发生)

我该怎么做。

2 个答案:

答案 0 :(得分:0)

如果您的主键是namegroup

的组合

您可以执行INSERT IGNORE

INSERT IGNORE INTO yourTable
SET name = 'test',
    group = 1;

只要它们都是主键的一部分,就应该检查它们的组合

答案 1 :(得分:0)

我认为名称列的问题是唯一的,请删除名称列上的唯一约束并尝试INSERT IGNORE INTO yourTable(name,group)values("test",2)