MySQL同表不同字段互相替换

日常项目中常见表中两个字段有一些数据存值相反导致业务错误,这个时候需要脚本执行把数据替换。

小编下面的sql语句是把test表中员工编号和员工编码存在错误的数据替换,错误数据的条件是员工编码存的员工姓名,员工姓名存的员工编码。这时候用到了regexp这个函数,判断字段里是否是汉字还是数值,是数字返回0汉字返回1,下面是脚本

sql 复制代码
UPDATE test a,
 test b
SET a.USER_NO = b.USER_NO_NAME,
 a.USER_NO_NAME = b.USER_NO
WHERE
	a.id = b.id
AND a.id IN (
	SELECT
		id
	FROM
		(
			SELECT
				id,
				(
					USER_NO_NAME REGEXP '[^0-9.]'
				) AS data_flag,
				USER_NO_NAME
			FROM
				test
		) a
	WHERE
		data_flag = 0
)
相关推荐
邪修king7 小时前
MySQL数据库(二):操作详解:从创建、查看到备份恢复
数据库·mysql
天工开户017 小时前
Facebook Ads 里开始出现付款状态计数器了
经验分享·facebook
童园管理札记7 小时前
CSDN 学前入门高质量指南:从零搭建编程学习体系
人工智能·经验分享·职场和发展·生活·学习方法
邪修king7 小时前
MySQL 数据库(三):表级操作实战:增删查改全实例演示 + 企业实操红线规范
android·数据库·mysql
知行产研7 小时前
煤矿软件杀成红海,龙软科技押注的“时空智能“能接棒吗?
数据库·科技·mysql
blue_ice .7 小时前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发
bug嘛我经常写8 小时前
MIKE21结合ArcGIS制作随时间变化的降水文件(.dfs2)-笔记
经验分享·笔记·arcgis
半兽先生8 小时前
MySQL + Milvus vs PostgreSQL + pgvector:AI 应用向量检索架构选型终极指南
mysql·postgresql·milvus
qq_349447958 小时前
搭建mysql主从数据库
数据库·mysql
PHP实战开发录13 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发