//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
浙公网安备 33010602011771号