2014-10-17 35 views
0

SQL INSERT INTO語句的大多數文檔都涉及在一個語句中將值逐行插入多個列。我的工作流程有點不同,因爲我的表格列之間沒有關係。因此,我批量填充每一列:完成後,我移動到下一列來填充該列。SQLite:在前一列底部插入INSERT INTO列

的問題是,我不知道如何控制其中第二列的INSERT INTO去。它將追加column2數據到column1的最後一行。如何重置光標的位置以插入column2的開頭?

截圖表輸出的:http://imgur.com/luxYrn5

代碼:

conn = sqlite3.connect('testDB.sqlite') 
c = conn.cursor() 
c.execute('CREATE TABLE IF NOT EXISTS tableName (column1 TEXT, column2 TEXT)') 

def getData(): 
    c.execute('INSERT INTO tableName(column1) VALUES(?)', (data_values,)) 
    c.execute('INSERT INTO tableName(column2) VALUES(?)', (data_values,)) 

回答

0

INSERT語句將整行插入表中。空值將被插入到插入中未提供的任何列中。這假設不在你的插入語句中的列可以接受空值。如果它們設置爲不插入,則會引發錯誤。

例如Insert into Table1(Column1) Values('Value1'),我nsert into Table1(Column1) Values('Value2')將做到這一點,如下(------ inidicates只是空/空值):如果要插入一些

表1

Column1 Column2 

Value1 ------ 

------ Value2 

列到現有行中應該使用UPDATE語句。在上面的例子中,如果你使用像下面這樣的更新,而不是第二次插入,它將更新同一行。

update Table1 set Column2 = 'Value2' where Column1 = 'Value1' 

表1

Column1 Column2 

Value1 Value2