在 SQL 数据库中一次输入多个列表
Entering multiple lists at once in SQLi Database
我正在使用以下命令在 SQLi 数据库中输入列表值。
sql_comm = "INSERT INTO Revisions (Work_ID,Rev_No,Name,Date) VALUES (?,?,?,?);"
data = (wid,i,rev_name,rev_date)
crsr.execute(sql_comm,data)
sql_com2 = "INSERT INTO Revisions (Field,New_Value) VALUES (?,?)"
for elem in zip(changes,vals):
crsr.execute(sql_com2,elem)
connection.commit()
这是结果输出。
Work_ID Rev_No Name Date Field New Value
172 1 Raul Gitta <raoul_g@ware.23biz> 2021-10-21T10:08:10.653Z null null
null null null null System.Rev 2
null null null null System.AuthorizedDate 2021-10-20T06:42:01.32Z
null null null null System.RevisedDate 2021-10-21T10:08:10.653Z
null null null null System.ChangedDate 2021-10-20T06:42:01.32Z
null null null null System.Watermark 198
有没有办法避免这些 null
值?
所有空值都源于它们没有插入到适当的 INSERT 查询中这一事实。使用列表而不是元组作为参数可能更容易,因为列表是可变的。
类似于:
data = [wid,i,rev_name,rev_date]
sql_com2 = "INSERT INTO Revisions (Work_ID,Rev_No,Name,Date,Field,New_Value)
VALUES (?,?,?,?,?,?)"
for elem in zip(changes,vals):
crsr.execute(sql_com2,data + list(elem))
connection.commit()
我正在使用以下命令在 SQLi 数据库中输入列表值。
sql_comm = "INSERT INTO Revisions (Work_ID,Rev_No,Name,Date) VALUES (?,?,?,?);"
data = (wid,i,rev_name,rev_date)
crsr.execute(sql_comm,data)
sql_com2 = "INSERT INTO Revisions (Field,New_Value) VALUES (?,?)"
for elem in zip(changes,vals):
crsr.execute(sql_com2,elem)
connection.commit()
这是结果输出。
Work_ID Rev_No Name Date Field New Value
172 1 Raul Gitta <raoul_g@ware.23biz> 2021-10-21T10:08:10.653Z null null
null null null null System.Rev 2
null null null null System.AuthorizedDate 2021-10-20T06:42:01.32Z
null null null null System.RevisedDate 2021-10-21T10:08:10.653Z
null null null null System.ChangedDate 2021-10-20T06:42:01.32Z
null null null null System.Watermark 198
有没有办法避免这些 null
值?
所有空值都源于它们没有插入到适当的 INSERT 查询中这一事实。使用列表而不是元组作为参数可能更容易,因为列表是可变的。
类似于:
data = [wid,i,rev_name,rev_date]
sql_com2 = "INSERT INTO Revisions (Work_ID,Rev_No,Name,Date,Field,New_Value)
VALUES (?,?,?,?,?,?)"
for elem in zip(changes,vals):
crsr.execute(sql_com2,data + list(elem))
connection.commit()