我在Python中使用sql还是很新的。我有一些要发送到我的SQL DB的数据。但是我遇到了pymysql.err.IntegrityError: (1048, "Column 'ProTitre' cannot be null")
错误。
我尝试将titre
和descr
放在变量data[]
上,然后将data[]
放在cursor.execute(sql, data)
上。
直接放入sql = ("INSERT INTO projet (ProTitre, ProDescription) VALUES (%s, %s)", (self.sqlEntryTitreProjet, self.sqlEntryDescrProjet))
或cursor.execute(sql, self.sqlEntryTitreProjet, self.sqlEntryDescrProjet)
。
def exemple(self):
self.sqlEntryTitreProjet = "test1"
self.sqlEntryDesrcrProjet = "test descr"
def myConnectin(self):
self.connection = pymysql.connect(host='127.0.0.1',
user='root',
password='',
db='bd_outiltesting',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
def addItemProjet(self):
self.myConnection()
titre = self.sqlEntryTitreProjet
descr = self.sqlEntryDesrcrProjet
sql = ("INSERT INTO projet (ProTitre, ProDescription) VALUES (%s,
%s)", (titre, descr))
cursor = self.connection.cursor()
cursor.execute(sql)
self.connection.commit()
print("cursor.description:", cursor.description)
cursor.close()
if self.connection.is_connected():
self.connection.close()
print("MySQL connection is closed")
pymysql.err.IntegrityError: (1048, "Column 'ProTitre' cannot be null")
答案 0 :(得分:0)
尝试:
sql = "INSERT INTO projet (ProTitre, ProDescription) VALUES (%s, %s)"
cursor = self.connection.cursor()
cursor.execute(sql, (titre, descr))
args应该是元组,列表或dict afaik。