您的位置
主页 > 网站技术 > 数据库 > » 正文

Mysql 原生语句中save or update 的写法汇总(3)

来源: 锦尚中国 点击:


CREATE TABLE `test_tab` (
  `name` varchar(64) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.插入一条数据

复制代码 代码如下:


insert into `test_tab` (`name`,`age`) values ('zhangsan',24)

当前test_tab表的数据为:

复制代码 代码如下:


name|age
:—-|:—
zhangsan|24

3.再执行一次步骤2的插入语句,则会报异常:

复制代码 代码如下:


[Err] 1062 - Duplicate entry 'zhangsan' for key 'PRIMARY'

4.对步骤2的insert语句增加ignore关键字,则不会报异常,已存在的数据也不会被更新。

复制代码 代码如下:


insert IGNORE into `test_tab` (`name`,`age`) values ('zhangsan',24) ;


------
语句执行情况:
受影响的行: 0
时间: 0.000s


当前test_tab表的数据为:

复制代码 代码如下:


name|age
:—-|:—
zhangsan|24

不存在则插入,存在则更新,其一(使用DUPLICATE KEY UPDATE关键字)

   在insert语句中使用ON DUPLICATE KEY UPDATE关键字实现数据不存在则插入,存在则更新的操作。判断数据重复的逻辑依然是主键冲突或者唯一键冲突。
官网上的相关介绍如下:




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明