2011-09-01 2 views
0

테이블이 Details인데,이 필드에는 NameCountry의 두 필드가 있습니다. 현재 A, B, B, C, D와 같이 Country의 값을 갖는 5 개의 행이 있습니다. Country이 B 인 행에 대해 새 필드 State을 추가해야합니다. 이것이 가능한가?기존 테이블에 새로운 유형의 필드 추가하기

감사

답변

1

테이블의 설계에 관계없이 데이터가 고정된다. 열을 추가하려면 모든 행에 적용됩니다. 나는 세부 사항에 기본 키가 (대부분의 시간, 그것은 자동 증가 정수이다) 있으리라 믿고있어,하지만 '아무튼 :

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

당신이하지 어떻게 관계형 데이터베이스 작업의 단일 행에 대해 하나 개의 컬럼을 추가 할 수 없습니다. 그러나 전체 테이블에 대해 열을 추가하고 데이터가없는 행을 null로 설정하거나 상태를 저장하기 위해 별도의 테이블을 만들 수 있습니다. 예컨대

는 :

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

는 Details' – Phil

+1

필'에'detail_id' 열을 추가해야합니다 그럴 필요가 없다. –

+1

OP는 'Name'과 'Country'의 두 개의 열만 있다고합니다. ID를 추가하는 것은 데이터가 이미 삽입 된 후 수행하기가 어렵지만 좋은 생각입니다. – Phil

관련 문제