2013-11-26 4 views
0

У меня есть таблица, которая уже заполнена твитами. Я читаю некоторые словари из твита, используя json. Я использую SQLite3 в Python.Заполнение столбца таблицы 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) 

Теперь я должен добавить столбец в таблице «LenTweet», который, как предполагается, содержит длину coloumn «Текст». Я могу добавить coloumn используя

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

Но, я не знаю, как заполнить этот вновь созданный coloumn с длиной столбца «Текст». Все, о чем я могу думать, это воссоздать таблицу и вставить длину прямо там, читая твиты. Колонка должна быть заполнена на основе значений, которые находятся в таблице в настоящее время. Это не запускается с любыми вставками. Может кто-нибудь, пожалуйста, скажите мне способ, чтобы я мог заполнить таблицу данными, которые у меня уже есть? Спасибо заранее.

+0

Интересно, хотите ли вы называть свои столбцы именами, как текст? Это может быть, по крайней мере, запутанным. –

+0

Я согласен, я думаю, я должен заменить его на TwTxt. –

ответ

1
UPDATE TwTbl 
    SET LenTweet = length(text) 

Где текст - это название столбца, в котором вы хотите узнать длину. См. this page для получения подробной информации о функции длины.

Кроме того, LenTweet должен быть скорее числовым, чем текстовым.

+0

Отлично! спасибо так mcu. Это сработало. –

Смежные вопросы