使用sql脚本在表中插入常量值

时间:2014-07-15 19:15:16

标签: mysql sql

我正在使用sql脚本将数据从一个表传输到另一个表。在我的父表中,我有一些声明了常量的列。我想要的是,而不是传递常量的,而应该转移他们的名称。是否可以使用sql脚本?

父母TBL

ID | NAME | COLOR_ID
2  | test | 1

我只想通过sql脚本将color_id更改为绿色。

收到TBL

ID | NAME | COLOR
2  | test | Green

脚本

Insert in receiving_tbl(id, name, color) select (id, name, color_id) from parent_tbl

2 个答案:

答案 0 :(得分:2)

如果数据库中未定义颜色名称,唯一的选择是定义CASE以将ID转换为名称,例如

INSERT INTO receiving_tbl(id, name, color) 
SELECT id, name
     , CASE color_id WHEN 1 THEN 'Green'
                     WHEN 2 THEN 'Red'
                     ...
                     ELSE NULL
       END 
FROM parent_tbl

答案 1 :(得分:2)

如果您的表格中存储了您的颜色ID和名称,您可以通过在" name"中添加联接来轻松完成此操作。表

但是,如果您没有将此信息存储在表格中,则可以使用case statement创建此类逻辑。

CASE  case_expression
   WHEN when_expression_1 THEN commands
   WHEN when_expression_2 THEN commands
   ...
   ELSE commands
END CASE;