2013-11-26 7 views
0

트윗이 이미 채워진 테이블이 있습니다. json을 사용하여 트윗에서 사전을 읽습니다. 파이썬에서 SQLite3을 사용하고 있습니다.테이블의 다른 값을 기반으로 SQL 테이블 열 채우기

TwTbl = """Create table TwTbl 
(created_at text, id text, geo_count integer, user_id integer, text text, geo_id integer, source text,in_reply_to_user_id integer, retweet_count integer, 
constraint fk_UserEntry 
foreign key (user_id) references UserEntry(id) 
constraint fk_Geo 
foreign key (geo_count) references Geo(Id) 
);""" 
c.execute(TwTbl) 

이제 coloumn "Text"길이가 포함 된이 테이블 "LenTweet"에 열을 추가해야합니다. 나는 나는 "텍스트"컬럼의 길이 새로 만든 coloumn을 채우는 방법을 모르는,

c.execute("ALTER TABLE TwTbl ADD LenTweet text").fetchall() 

를 사용하여 coloumn을 추가하지만 할 수 있습니다. 내가 생각할 수있는 것은 테이블을 다시 만들고 그 바로 위의 길이를 삽입하는 것입니다. coloumn은 현재 테이블에있는 값을 기반으로 채워 져야합니다. 삽입에 따라 트리거되지 않습니다. 누군가 나에게 방법을 말해 줄 수 있나요? 제가 이미 그 테이블에있는 데이터를 채울 수 있습니까? 미리 감사드립니다.

+0

텍스트와 같은 이름으로 열의 이름을 지정해야하는지 궁금합니다. 적어도 혼란 스러울 수 있습니다. –

+0

나는 TwTxt로 바꾸어야한다고 생각한다. –

답변

1
UPDATE TwTbl 
    SET LenTweet = length(text) 

여기서 text는 길이를 알고 싶은 열의 이름입니다. length 함수에 대한 자세한 내용은 this page을 참조하십시오.

또한 LenTweet은 텍스트 필드가 아닌 숫자 여야합니다.

+0

좋아요! 고마워. 그래서 MCU. 그것은 효과가 있었다. –

관련 문제