本文实例讲述了mysql中替换成与插入> 创建表的测试( “id”int(11)无符号NOT NULL AUTO_INCREMENT评论“id”, “名字”varchar(32)默认”评论“姓名”, “addr”varchar(256)默认的“评论”地址”, 主键(“id”) )引擎=InnoDB默认字符集=utf8;
向该表中插入一些数据
插入测试 值 (NULL, ' a ', ' aaa '), (NULL,“b”、“bbb”), (零、“c”、“ccc”), (' d '零ddd);
影响行数4,结果如下:
插入test2 值 (NULL,“01”、“一”、“aaa”), (NULL, ' 02 ', ' b ', ' bbb '), (零、“03”、“c”,“ccc”), (零,“04”,“d”, ddd); >之前
我们运行如下语句:
插入test2 (sn、名称、addr) 值 (' 02 ',“bb”、“bbbb”) 重复的关键 更新 name=值(名字), addr=值(addr); >之前结果如下:
显然如果插入重复关键更新语句仅仅只是在原记录基础上进行更新操作的话,自增字段是不会自动加1的,说明它也进行了记录删除操作。
先插入记录,如果不成功,则删除原记录,但保留了除更新语句后字段的值,然后把保留的值与需要更新的值合并,然后插入一条新记录。
总结:
替换成与插入重复键更新都是先尝试插入记录,如果不成功,则删除记录,替换成不保留原记录的值,而插入重复关键更新保留。然后插入一条新记录。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》,《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》,《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
mysql中替换成与插入重复键更新的用法和不同点实例分析