2013-11-14 3 views
1

테이블 설정 후 갑자기 한 열을 추가하고 해당 열에 동일한 값을 모두 지정하여 업데이트해야합니다. 그래서 나는이SQL에서 예기치 않은 오류 1054

ALTER TABLE sthebc3_cle ADD COLUMN Species char(30) AFTER Genome_ACC; 
SET SQL_SAFE_UPDATES=0; 
UPDATE cle.sthebc3_cle 
SET Species='StHe'; 

처럼 워크 벤치에 쿼리를 작성하지만 내가 ALTER 후 테이블을 확인

error 1054: unknown column "Species" in "field list 

같은 오류가, 새로운 열이 "종"실제로 컬럼에 추가 된보고 값은 NULL입니다 .

어떻게 오류가보고 될 수 있습니까?

+0

그냥하려고 alter 문에서 데이터베이스 cle을 사용하고 있는지 확인하십시오. 당신은 테스트 환경에서 컬럼을 만들지 않았을까요? –

+0

예. 그것은. 나는 "cle"을 제거하려고 노력했다. 그리고 여전히 작동하지 않았다. – user2993059

+0

그리고 SELECT 종을 FROM sthbec3_cle으로 실행하면 종은 NULL이고 행 목록을 얻는가? –

답변

0

현재 세션이 원하는 데이터베이스인지 확인해야합니다. MySQL에는 항상 선택된 데이터베이스가 있습니다. 당신은 당신이 항상 nameofthedatabase.tablename를 넣어 사용하고있는 데이터베이스 테이블 보거나 들어

ALTER TABLE cle.sthebc3_cle ADD COLUMN Species char(30) AFTER Genome_ACC; 
SET SQL_SAFE_UPDATES=0; 
UPDATE cle.sthebc3_cle 
SET Species='StHe'; 

를 들어

, 100 % 확인하려면

USE cle; 
CREATE VIEW all_cle AS 
(SELECT Species, Genome_ACC, CLE_start, CLE_end, CLE_domain 
    FROM nameofdatabase.cowpea_cle) 
UNION 
(SELECT Species, Genome_ACC, CLE_start, CLE_end, CLE_domain 
FROM nameofdatabase.sthebc3_cle); 
+0

보기가 여전히 작동하지 않습니다. cowpea_cle과 sthebc3_cle 모두 cle 데이터베이스에 있습니다. 그래서 "nameofdatabase"를 "cle"으로 바꿉니다. 그러나 오류 코드 : 1054. '필드 목록'의 'Species'열을 알 수 없습니다. – user2993059

+0

cle.cowpea_cle에 열을 생성 했습니까? –

+0

작동 시키셨습니까? –