赞
踩
- **说明:
- 1. on duplicate key update 含义:
- 1)如果在INSERT语句末尾指定了 on duplicate key update,
- 并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,
- 则在出现重复值的行执行UPDATE;
- 2)如果不会导致唯一值列重复的问题,则插入新行。
-
- 2. values(col_name)函数只是取当前插入语句中的插入值,并没有累加功能。
- 如:count = values(count) 取前面 insert into 中的 count 值,并更新
- 当有多条记录冲突,需要插入时,前面的更新值都被最后一条记录覆盖,
- 所以呈现出取最后一条更新的现象。
- 如:count = count + values(count) 依然取前面 insert into 中的 count 值,
- 并与原记录值相加后更新回数据库,这样,当多条记录冲突需要插入时,
- 就实现了不断累加更新的现象。
-
- 注:insert into ... on duplicate key update ... values() 这个语句
- 尽管在冲突时执行了更新,并没有插入,但是发现依然会占用 id 序号(自增),
- 出现很多丢失的 id 值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。