我有一个包含三列的表格;其中两个当前填充有NULL值。我已经将第一列(包含数据)拆分为存储在临时表中的两列:
CREATE TEMPORARY TABLE IF NOT EXISTS temp_storage AS (
select LEFT(column1, POSITION('_' IN column1) - 1),
RIGHT(column1, POSITION('_' IN REVERSE(column1)) - 1)
FROM table1
);
现在,我需要获取该数据,并使用此数据填写两个空列。 我尝试使用此:
INSERT INTO table1(column2, column3)
SELECT * FROM temp_storage;
但是,这只会创建新行,并使用此数据填充第2列和第3列,而在这些行中将第1列保留为NULL。
是否有一种有效的方法来填充临时表中的现有行?
答案 0 :(得分:0)
我假设您在每种情况下都是在同一行的column1
中填充空白列?
您为什么不使用UPDATE
?这样就不需要临时表。
UPDATE table1
SET column2 = LEFT(column1, POSITION('_' IN column1) - 1),
column3 = RIGHT(column1, POSITION('_' IN REVERSE(column1)) - 1)