//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號