问题如下:
假设有一张表名为tb_a 字段分别为id int(4)自增长的、sn varchar(32)、name varchar(32)、f float(11,1)。
现在要插入一行数据(1,'AA','NN',33.5) 条件是表中不存在某一行记录的sn和name与要插入的相同。请各位帮忙,谢谢!

解决方案 »

  1.   

    设置(SN,NAME)为主键或者唯一键即可。然后可以使用 INSERT IGNORE 或者 INSERT ON DUPLICATE KEY UPDATE
      

  2.   

    字段sn不唯一,name也不唯一,只有两者联合起来才唯一。
      

  3.   


    先查询,条件是要插入的sn和name的值select count(*) from tb_a where sn='AA' and name='NN'如果返回值为0,则表示没有记录,就执行:
    insert into tb_a (sn,name,f) values('AA','NN',33.5)如果返回值不是0,则表示已有该条记录,不能插入
      

  4.   

    MYSQL手册中搜索 CREATE INDEX 然后 看UNIQUE
      

  5.   

    好的,用create unique index 索引名 on 表名 (列名1,,,,列名n)解决,多谢了!