SQL - 在已填充其他列时将数据插入一列

时间:2014-07-30 11:07:14

标签: mysql sql database

我有一个包含4列的数据库,其中3列已经填充(事后已添加第4列)。

总共有700行,其中第一行称为ID,其中填充了从1到700的递增整数。如何为column4添加700个值以对应每行?

例如,如果我的前3行看起来像这样

(1, James, Smith, null)
(2, Michael, Jones, null)
(3, Rachel, Harris, null)

我怎么能让它们看起来像

(1, James, Smith, Yes)
(2, Michael, Jones, No)
(3, Rachel, Harris, No)

如果我想添加到表格的中间(例如,而不是条目1,2和3,它们是条目188,209和233)怎么样?

1 个答案:

答案 0 :(得分:2)

在两个单独的查询中:

UPDATE **table_name**
   SET **column_4_name** = 'Yes' 
 WHERE **yes_condition**;

UPDATE **table_name** 
   SET **column_4_name** = 'No' 
 WHERE **!yes_condition**;

或者在一个人中:

UPDATE **table_name**
   SET **column_4_name** = CASE 
     WHEN **yes_condition** THEN 'Yes'
     ELSE 'No' 
   END;

N.B。这些示例假设您不想留下任何NULL值。

我几乎肯定会将您的'Yes'/'No'更改为TINYINT,其中0表示'No'1表示'Yes';然后你可以运行:

 UPDATE **table_name**
    SET **column_4_name** = **yes_condition**;