您当前的位置: 首页 >  sql

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

知其黑、受其白 发布时间:2022-08-18 14:56:14 ,浏览量:0

阅读目录
  • 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 = '离散'
	);
关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0509s