MySQL insert into where 去重复
这儿有一个order表,脚本我放在最后,
我想在insert之前判断order_name是否存在,不存在则保存,存在则不保存。
但是MySQL insert语句是不能跟where子句的,像这样:
INSERT INTO `order` (order_name) VALUES ('订单3') WHERE NOT EXISTS (SELECT order_id FROM `order` WHERE order_name = '订单3');
会报错,
INSERT INTO `order` (order_name) VALUES ('订单3') WHERE NOT EXISTS (SELECT order_id FROM `order` WHERE order_name = '订单3')
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS (SELECT order_id FROM `order` WHERE order_name = '订单3')' at line 1
> 时间: 0s
我们可以修改成insert select语句:
INSERT INTO `order` (order_name) SELECT '订单3' FROM DUAL WHERE NOT EXISTS (SELECT order_id FROM `order` WHERE order_name = '订单3');
这样就能实现我们的需求。
SQL脚本
-- ----------------------------
-- Table structure for order
-- ----------------------------
DROP TABLE IF EXISTS `order`;
CREATE TABLE `order` (`order_id` int NOT NULL AUTO_INCREMENT COMMENT '订单ID',`order_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单名称',`order_amount` int NULL DEFAULT NULL COMMENT '订单金额',PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of order
-- ----------------------------
INSERT INTO `order` VALUES (1, '订单1', 70);
INSERT INTO `order` VALUES (2, '订单2', 80);
INSERT INTO `order` VALUES (3, '订单3', 90);
MySQL insert into where 去重复相关推荐
- mysql语句中怎么去重复_mysql中删除重复记录sql语句
在sql中我们经常会碰到有重复的一些数据,下面我来介绍在mysql中删除重复记录的多种方法,有需要的朋友可参考参考. 删除重复记录方法一: 1. 新建一个临时表 代码如下 复制代码 create ta ...
- mysql根据两列去重复_mysql对两列去重复数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql单列去重复group by分组取每组前几条记录加order by排序
<div class="post"><h1 class="postTitle"><a id="cb_post_title ...
- 爬虫 spider09——爬取指定数据,去重复,并存储到mysql
爬取指定数据,去重复,并存储到mysql. 技术栈:Springboot+ssm+定时(定时器)爬取+redis去重+mybatis保存 一.创建父项目Spider pom.xml <?xml ...
- mysql的联表查询和去重复数据
mysql的联表查询和去重复数据 /* SQLyog Ultimate v10.00 Beta1 MySQL - 5.7.17-log : Database - pusmtnew ********** ...
- mysql分区表去重复_MySQL分区表管理
RANGE,LIST分区管理 1:为未分区表创建分区 ALTER TABLE trb3 PARTITION BY KEY(id) PARTITIONS 2; 2:删除某个分区的数据 ALTER TAB ...
- Mysql数据库查询去除重复_mysql数据库如何去重复数据
mysql数据库去重复数据的方法: 方法一:防止表中出现重复数据 当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据 ...
- sql distinct 去重复 (mysql)
DISTINCT 去重复 (运动扭伤腰...悲伤... (▼ _ ▼) ) 首先,例如我们的表: 首先观察表: 其中第二行和第三行和第八行的name1的只是重复的,但第八行的age1确是12,与第二行 ...
- mysql 去重复屈居_mysql去重复关键字distinct的用法
distinct的去重复的提前是表中所有列的数据完成相同时,才能把相同的数据只保留一条,并不是 distinct 列名,除去某一列相同的数据,并且 distinct要放在第一个列前面.案例如下:一个学 ...
最新文章
- Matlab求方差,均值,均方差,协方差的函数
- 喧哗的背后:Serverless 的概念及挑战
- 学习笔记27—python中numpy.ravel() 和 flatten()函数
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
- c语言案例朗读工具源码,C语言编写简单朗读小工具(有源码)
- SpringMVC 文件上传及下载
- 为什么我不使用 Web 组件?
- 深度有趣 | 29 方言种类分类
- amd编码器 hevc_【硬件资讯】8K实时渲染?AMD做到了,但代价是……
- mysql5.5默认引擎,在MySQL5.5以上系统中,默认的存储引擎是( )。
- html浏览xsd,那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
- oracle 亿级数据存储方案
- WINDOWS下多个桌面切换
- python inputs[:,::2,::2,:]
- EGPU use in NUC about ubuntu20.04.5
- Markdown/KaTeX/LaTeX语法、工具及模板大全(持续更新ing...)
- Cesium之鼠标事件绑定和移除
- HBase技术与应用实践 | HBase2.0重新定义小对象实时存取
- 设备跟服务器对接需要什么文档,『OneNET设备云平台』云平台对接服务_智能设备...