0
点赞
收藏
分享

微信扫一扫

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


阅读目录

  • MySQL数据库
  • 1 存在就更新,不存在就新增
  • 2 存在则不操作,不存在则新增

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 = '离散'
	);


举报

相关推荐

0 条评论