使用 pyodbc 插入空值
Insert Null value with pyodbc
我有这个代码
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=RON\SQLEXPRESS;'
'Database=TestDB;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('SELECT * FROM TestDB.dbo.Person')
city = 'NULL'
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,'{}')".format(city))
conn.commit()
插入 NULL value 不是真正的 NULL ,我必须输入 '{}'
因为如果我想在 city
变量中设置值,它必须介于 '
city = 'NEW YORK'
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,'{}')".format(city))
那我该如何处理呢?当 var 不为 NULL 时输入 NULL 或值 ?
在查询中使用参数,而不是字符串格式
city = None
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,?)", (city, ))
conn.commit()
你使用参数。
Name, Age, City = 'Bob', 55, None
cursor.execute("INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES (?, ?, ?)", (Name, Age, City))
我有这个代码
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=RON\SQLEXPRESS;'
'Database=TestDB;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('SELECT * FROM TestDB.dbo.Person')
city = 'NULL'
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,'{}')".format(city))
conn.commit()
插入 NULL value 不是真正的 NULL ,我必须输入 '{}'
因为如果我想在 city
变量中设置值,它必须介于 '
city = 'NEW YORK'
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,'{}')".format(city))
那我该如何处理呢?当 var 不为 NULL 时输入 NULL 或值 ?
在查询中使用参数,而不是字符串格式
city = None
cursor.execute(" INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES ('Bob',55,?)", (city, ))
conn.commit()
你使用参数。
Name, Age, City = 'Bob', 55, None
cursor.execute("INSERT INTO TestDB.dbo.Person (Name, Age, City) VALUES (?, ?, ?)", (Name, Age, City))