我在表格中有三列PRODUCTID
,PRODUCTNAME
,PRODUCTCODE
。 我要插入一個新產品從創建其他列將兩個不同字符串的部分合併爲新字符串
如何採取PRODUCTNAME
的前兩個字母和最後四個數字PRODUCTCODE
,並將其填充到PRODUCTID
的PRODUCTID
?
我不希望產品在表內複製,如果嘗試,我希望表保持不變。默認PRODUCTID
是DEFAULT
。
我有這麼遠:
INSERT INTO `v1_products` (`PRODUCTNAME`, `PRODUCTNUMBER`) VALUES ("EXAMPLE", "EXAMPLE4444");
UPDATE `v1_products`
SET `PRODUCTID`=(SELECT CONCAT(
(SELECT LEFT(`PRODUCTNAME`,2)) , (SELECT RIGHT(`PRODUCTNUMBER`,4))))
WHERE `PRODUCTID`= "DEFALT" AND `PRODUCTID`!=`PRODUCTID`
LIMIT 1
究竟正在發生,您可以通過簡單地增加你的更新語句中使用的
CONCAT
做到這一點?你試圖用這個過濾器完成什麼?WHERE PRODUCTID =「DEFALT」和PRODUCTID!= PRODUCTID? –你想做什麼,'INSERT'或'UPDATE'? ''PRODUCTID'!='PRODUCTID''沒有意義,因爲只有一個表被引用,所以'PRODUCTID'總是等於'PRODUCTID' –