MYSQL提供了专门的语句insert into .. on duplicate ....
replace ...
参考一下MYSQL免费官方手册中这两个SQL语句的语法说明和例子。

解决方案 »

  1.   

    CREATE TABLE `test` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,
      `Index` int(4) NOT NULL DEFAULT '0',
      `IntVal` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`Id`),
      UNIQUE KEY `Index` (`Index`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert into test(`Id`, `Index`, `IntVal` ) values ( 1, 1, 2 );
    insert into test(`Id`, `Index`, `IntVal` ) values ( 2, 1, 2 ) ON DUPLICATE KEY UPDATE IntVal=10;你试下看看 我是5.5的版本 没什么问题