将新类型的字段添加到现有表

时间:2011-09-01 01:56:16

标签: mysql

我有一个表Details它有2个字段NameCountry。它目前有5行,Country的值为A,B,B,C,D。我需要为State为B的行添加新字段Country。这可能吗?

由于

2 个答案:

答案 0 :(得分:2)

您不能为单行添加一列,而不是关系数据库的工作方式。但是,您可以为整个表添加一列,并设置为使您没有任何数据的行为空,或者创建一个单独的表来存储您的状态。

例如:

CREATE TABLE state (detail_id integer, state_name varchar(50));
INSERT INTO state (detail_id, state_name) VALUES ((SELECT detail_id
                                                     FROM details
                                                    WHERE Country = 'B'
                                                    LIMIT 1),
                                                  'Some State');

答案 1 :(得分:1)

无论数据如何,表格的设计都是固定的。如果要添加列,它将应用于所有行。

ALTER TABLE `Details` ADD COLUMN `State` VARCHAR(12) NULL; -- 12 was just a guess