InterfaceError:错误绑定参数0 - 运行我的django脚本时可能不支持的类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InterfaceError:错误绑定参数0 - 运行我的django脚本时可能不支持的类型相关的知识,希望对你有一定的参考价值。
我有以下功能
def get_id(entityName, text):
"""Retrieve an entity's unique ID from the database, given its associated text.
If the row is not already present, it is inserted.
The entity can either be a sentence or a word."""
tableName = entityName + 's'
columnName = entityName
cursor.execute('SELECT rowid FROM ' + tableName + ' WHERE ' + columnName + ' = %s', (text,))
row = cursor.fetchone()
if row:
return row[0]
else:
cursor.execute('INSERT INTO ' + tableName + ' (' + columnName + ') VALUES (?)', (text,))
return cursor.lastrowid
什么时候这个方法被调用它产生这个错误
cursor.execute('SELECT rowid FROM ' + tableName + ' WHERE ' + columnName + ' = ?', (text,))
InterfaceError: Error binding parameter 0 - probably unsupported type.
目前这个错误正在产生,当我在django中运行它,否则它的工作正常。可能是什么原因?
这里我的参数0(文本)的类型是<type 'unicode'>
,数据库中的列数据类型是text type
所以错误
InterfaceError: Error binding parameter 0 - probably unsupported type.
很明显,因为参数0不符合数据库列的类型
我之前没有得到这个,因为我从另一个来源得到这个。
但是在得到它之后不是文本类型我必须在文本类型中转换它
有点像str(text)
它的工作就像一个魅力吧
以上是关于InterfaceError:错误绑定参数0 - 运行我的django脚本时可能不支持的类型的主要内容,如果未能解决你的问题,请参考以下文章
InterfaceError:错误绑定参数5 ... Django JWT令牌(django请求令牌工具)
查找 PyMySQL 错误的来源 - err.InterfaceError("(0, '')")
django.db.utils.InterfaceError: (0, '')
pymysql.err.InterfaceError: (0, '')解决办法
pymysql.err.InterfaceError: (0, '') 对 sql 表进行大量推送时出错
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (111