2011-09-01 112 views
0

我有一個表格Details它有2個字段NameCountry。它目前有5行,其值爲Country爲A,B,B,C,D。我需要爲Country爲B的行添加一個新字段State。這可能嗎?向現有表格添加新字段

謝謝

回答

1

表的設計是固定的,而不管數據。如果您想添加一列,它將應用於所有行。

ALTER TABLE `Details` ADD COLUMN `State` VARCHAR(12) NULL; -- 12 was just a guess 
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

必須的'detail_id'列添加到'Details' – Phil

+1

菲爾:我假設細節有一個主鍵(和大部分的時間,這是一個自動遞增的整數),但它不」必須是。 –

+1

OP表示它只有兩列,名稱和國家。添加ID將是一個好主意,儘管數據已經插入後很難做到 – Phil