首页 > MySQL > MySQL replace语句介绍

MySQL replace语句介绍

来源:原创 作者:thomas 分类:MySQL 阅读:537 日期:2014-05-21

语法格式:

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无意义。

当某个表既有primary key索引又有unique索引时,若插入的新值的primary key与旧指相同,则替换,若插入的新值的unique与旧指相同,则替换,若插入的新值的primary key和unique均与旧指相同,则替换,否则插入新值。

说明:

使用权限:需要同时对表拥有insert和delete权限。

在replace语句中使用引用值时,如"set col_name = col_name +1",则将会被作为default(col_name)处理,即:set col_name = default(col_name) + 1;

replace语句会返回一个数来指示受影响的行数,该数是被删除和被插入行数的总和。

十日谈技术博客

 

热门文章 更多>

微信扫一扫,关注技术十日谈