//code字段,万位缩减

UPDATE j_item SET `code`= FLOOR(`code`/100000)*10000+MOD(`code`,100000)

//code字段,

MySql Update修改(替换)某个字段中包含的某个值,根据条件修改替换某个字段的一部分值

//如果需要批量替换某个字段中字符串的某一部分,可以使用UPDATE语句结合REPLACE函数。例如,假设存在一个名为mytable的表,其中有一个字段myfield,如需将字段中所有以'oldprefix'开头的字符串替换成'newprefix',可以执行如下示例代码:

UPDATE j_item SET `code` = CONCAT('23559', SUBSTRING(`code`, LENGTH('23449') + 1)) WHERE `code`  REGEXP '^23449'

//insert 与 select 联合操作的例子

INSERT INTO `j_item`
(`code`,CX,XH,MC,TZ,DW,DJ,htSL)
SELECT CONCAT(`code`, '01'),CX,XH,MC,TZ,DW,DJ,'123.45 '
FROM `j_item` WHERE `code` = 23009010010001

//You can't specify target table 'a' for update in FROM clause

错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)

解决方法如下:

UPDATE `j_item` AS a
SET htSL = 
(
	SELECT * FROM
		(SELECT SUM(htSL)
		FROM `j_item` AS b
		WHERE b.code = 2300901001000101 OR b.code = 23009010010001) AS c
)
WHERE a.code = 23009010010001

 

posted on 2025-03-14 14:29  muqiao  阅读(7)  评论(0)    收藏  举报