我有一张15列2行的表格。我决定交换月份和年份列,因此我运行以下查询:
UPDATE test_schema.my_table_name
SET volume = month_value,
month_value=year_value,
year_value=volume
;
卷列为空,因此我将其用作临时列。当我运行代码时,所有表都为空!所有15列!您能告诉我为什么会这样吗?
该表只是一个测试表,是否有任何方法可以在执行错误的查询后取回数据?或者数据永久丢失?
答案 0 :(得分:3)
不需要临时列,您只需交换两列即可:
UPDATE test_schema.my_table_name
SET year_value = month_value,
month_value = year_value;
此将用于在运行更新之前评估作业的右侧。
答案 1 :(得分:1)
奇怪的是jarlh的建议没有奏效,请尝试以下3条语句:
UPDATE test_schema.my_table_name
SET volume = month_value;
UPDATE test_schema.my_table_name
SET month_value=year_value;
UPDATE test_schema.my_table_name
SET year_value=volume;