2013-11-26 42 views
0

中的其他值填充一個SQL表列。我有已經填充了tweets的表。我正在使用json從推文中讀取一些字典。我在Python中使用SQLite3。根據表

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) 

現在我有一列添加到此表「LenTweet」這是應該包含coloumn「文本」的長度。我可以添加顏色使用

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

但是,我不知道如何使用「文本」列的長度填充這個新創建的coloumn。我所能想到的只是重新創建表格,並在讀取推文的同時在其中插入長度。必須根據當前表中的值填充顏色。這不會觸發任何插入。有人可以告訴我一個方法,所以我可以用我已經在其中的數據填充表格? 在此先感謝。

+0

我想知道你是否應該用文字等名稱命名你的列?這可能至少是令人困惑的。 –

+0

我同意,我認爲我應該將其改爲TwTxt。 –

回答

1
UPDATE TwTbl 
    SET LenTweet = length(text) 

其中text是您想知道長度的列的名稱。有關長度功能的詳細信息,請參見this page

此外,LenTweet應該可能是數字而不是文本字段。

+0

太棒了!謝謝,所以單選。有效。 –