MySQL数据存在更新不存在新增数据

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据存在更新不存在新增数据相关的知识,希望对你有一定的参考价值。

阅读目录

mysql数据库

CREATE TABLE `subject`  (
  `subjectId` int NOT NULL AUTO_INCREMENT COMMENT '自增,科目编号',
  `subjectName` varchar(50) NULL DEFAULT NULL COMMENT '科目名称',
  PRIMARY KEY (`subjectId`) USING BTREE
) ENGINE = InnoDB COMMENT = '科目表';

1 存在就更新,不存在就新增

INSERT INTO `subject` (subjectId, subjectName)
VALUES ('7', '离散') ON DUPLICATE KEY UPDATE subjectName = '离散数学';

2 存在则不操作,不存在则新增

使用 insert…select…语句;
使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,而且这些值还可以不存在当前表中。

INSERT INTO `subject` (subjectName) SELECT
	'离散数学'
FROM
	DUAL
WHERE
	NOT EXISTS (
		SELECT
			subjectName
		FROM
			`subject`
		WHERE
			subjectName = '离散'
	);

以上是关于MySQL数据存在更新不存在新增数据的主要内容,如果未能解决你的问题,请参考以下文章

MySQL新增数据,存在就更新,不存在就添加

Mysql存在则更新,没有则新增

mysql存在就更新,不存在就新增

MySQL:如果不存在则新增一条数据

mysql批量更新,数据存在则更新,不存在则插入

批量更新数据不成功