REPLACE 语法

REPACE 语法规则:

REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name [(col_name,...)]
    VALUES ({expr | DEFAULT},...),(...),...

或:

REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name
    SET col_name={expr | DEFAULT}, ...

或:

REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name [(col_name,...)]
    SELECT ...
REPLACE适用于primary key或unique索引,否则使用replace没有多大意义,语句和INSERT语句相同。
具体规则:
1.试图插入一行数据,
2.当存在相同的主键primay key或unique唯一关键字时,
3.从表中删除原先记录
4.插入新记录
说明:
1.当某些列未被设置时按默认值,和INSERT一样。同时,不可以引用当前行的值也不能在新行中使用值,例如:
set col_name=col_name + 1的赋值,对于右侧实际是default(col_name)+1处理,所以赋值实际是set colname
=default(col_name) + 1;
2.repalce语句会返回一个值,这个值代表影响的行数。该值为插入和删除的行数之和,对于单行replace为1,则表示被
插入一行,同时没有行删除。而>1则表示,在新行被插入之前,有一个或多个旧行被删除。
3.目前,您不能在一个子查询中,向一个表中更换,同时从同一个表中选择,也就是不能在同一个表中查询又执行replace语句
注意:replace语句需要拥有表的INSERT和DELET权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值