pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")


錯誤提示:

Traceback (most recent call last):
  File "D:/projectwc/test/dd.py", line 43, in <module>
    effect_row = cursor.execute("insert into `222` set c={}".format(None))
  File "C:\python\lib\site-packages\pymysql\cursors.py", line 166, in execute
    result = self._query(query)
  File "C:\python\lib\site-packages\pymysql\cursors.py", line 322, in _query
    conn.query(q)
  File "C:\python\lib\site-packages\pymysql\connections.py", line 835, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "C:\python\lib\site-packages\pymysql\connections.py", line 1019, in _read_query_result
    result.read()
  File "C:\python\lib\site-packages\pymysql\connections.py", line 1302, in read
    first_packet = self.connection._read_packet()
  File "C:\python\lib\site-packages\pymysql\connections.py", line 981, in _read_packet
    packet.check_error()
  File "C:\python\lib\site-packages\pymysql\connections.py", line 393, in check_error
    err.raise_mysql_exception(self._data)
  File "C:\python\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")
import pymysql

# 創建連接
conn = pymysql.connect(host='192.168.72.135', port=3306, user='root', passwd='123456', db='test')
# 創建游標
cursor = conn.cursor()

# 執行SQL,並返回收影響行數
effect_row = cursor.execute("insert into `222` set c={}".format(None))


# 提交,不然無法保存新建或者修改的數據
conn.commit()

# 關閉游標
cursor.close()
# 關閉連接
conn.close()

 

 解決辦法:

把None 換成“Null”

effect_row = cursor.execute("insert into `222` set c={}".format("Null"))

 還要注意字符串"Insert into  庫.表 (`ID`, ....) values (123, 'Null'), ()" 如果要空值需要在替換一下

sql = sql.replace("'Null'", "Null")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM