mysql中,这样的语句怎么写? 即如果某表中没有字段ID(主键)的值为10的记录,则插入一条ID值为10的记录,否则什么都不做? 怎么写语句?

解决方案 »

  1.   

    replace是否 能 符合你 的 要求 ?
      

  2.   

    INSERT语句中加上IGNORE:
    INSERT IGNORE INTO `tableName` ...
      

  3.   

    INSERT INTO  cq_temp_1(ID, age) values(10, 20) where NOT EXISTS  (select * from cq_temp_1 where ID = 10) 
    ==这样语句应该可以, 不过刚才运行的版本才4.0的, 似乎不支持 NOT EXISTS语法
      

  4.   


    DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`sp_test1`$$CREATE PROCEDURE `test`.`sp_test1`()
    BEGIN
      select count(1) from tablename where id=10 into @cnt;
      if @cnt = 0 then 
        insert into tablename(id) values(10);
      end if;
    END$$DELIMITER ;