insert into mytable values(0, 0), (1, 1), (2, 2);需要加些什么?

解决方案 »

  1.   

    REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is insertedOR
    用两条SQL,
    INSERT INTO WHERE
    UPDATE WHERE
      

  2.   

    看手册:insert into ... on duplicated key update ...
      

  3.   

    insert into ... on duplicated key update ...
    这条是在INSERT INTO SELECT中使用的吧
      

  4.   

    能不能举个例子,我网上搜了下也找到几个,都讲得比较模糊,看不懂。
    insert into mytable values(0, 0), (1, 1), (2, 2);
    像要上面这句应该改成什么样的,谢谢了。
      

  5.   

    replace into mytable values(0, 0), (1, 1), (2, 2)
      

  6.   

    例子:mysql> create table csdn_mysql(id int not null primary key);
    Query OK, 0 rows affected (0.13 sec)mysql> insert into csdn_mysql values (4) on duplicate key update id = 5;
    Query OK, 1 row affected (0.03 sec)mysql> insert into csdn_mysql values (4),(6) on duplicate key update id = 5;
    Query OK, 3 rows affected (0.05 sec)
    Records: 2  Duplicates: 1  Warnings: 0mysql> select * from csdn_mysql;
    +----+
    | id |
    +----+
    |  5 |
    |  6 |
    +----+
    2 rows in set (0.00 sec)
      

  7.   

    谢谢yueliangdao0608,
    弱弱地再问一句:
    insert into csdn_mysql values (4),(6) on duplicate key update id = 5;
    像上面这句如果记录已存在则设置新id为一个变量。
    比如当id为4的记录已存在时,把该记录的id变成5
    当6已存在时,把6变成7
      

  8.   

    分别执行吧。insert into csdn_mysql values (4) on duplicate key update id = 5;
    insert into csdn_mysql values (6) on duplicate key update id = 7;
      

  9.   

    如果只是判断相同的记录是否存在要怎么做。
    insert into mytable values(0, 0), (1, 1), (2, 2); 
    这样插入3条记录,如果相同的记录(所有值都相同)已存在则不插入。
      

  10.   

    我找到这个http://www.xland.com.cn/article/74/76/0803/28339.htm
    看不太明白,谁给解释下好吗,用实例。
    insert into mytable values(0, 0), (1, 1), (2, 2);
    根据它的说法要怎么改。
      

  11.   

    你没有主键,不能用上述方法,
    用两条SQL
      

  12.   


    她说的不是MySQL的例子。