SQLite:INSERT INTO列插入前一列的底部

时间:2014-10-17 19:56:48

标签: python sqlite insert

关于SQL 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,))

1 个答案:

答案 0 :(得分:0)

INSERT语句将整行插入表中。空值将插入到插入中未提供的任何列中。这假设不在insert语句中的列可以接受空值。如果它们设置为不插入则会抛出错误。

例如Insert into Table1(Column1) Values('Value1')和我nsert into Table1(Column1) Values('Value2')将执行以下操作(------仅显示空值/空值):

<强>表1

Column1 Column2

Value1  ------

------  Value2

如果要在现有行中插入一些列,则应使用UPDATE语句。在上面的示例中,如果您使用如下所示的更新而不是第二个插入,它将更新同一行。

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

<强>表1

Column1 Column2

Value1  Value2