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