我在表格中有三列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' –