python - pymssql 问题 - INSERT 不适用于参数

标签 python sql-server linux pymssql

我正在使用 pymssql 在 Linux 上使用 Python 进行数据库编程。

我在向查询传递参数时遇到问题。这个问题似乎只存在于 INSERT 查询中。

这个有效:

query = "SELECT col1, col2 FROM table WHERE col3=%s"
cur.execute(query, (value,))

但这不是:

query = "INSERT INTO table (col1, col2) VALUES (%s, %s)"
cur.execute(query, (value1, value2,))

知道为什么 INSERT 查询不起作用吗?

这是回溯:

Traceback (most recent call last):
  File "test.py", line 46, in ?
    cur.execute(query, (value1, value2,))
  File "/usr/lib/python2.4/site-packages/pymssql.py", line 126, in execute
    self.executemany(operation, (params,))
  File "/usr/lib/python2.4/site-packages/pymssql.py", line 152, in executemany
    raise DatabaseError, "internal error: %s" % self.__source.errmsg()
pymssql.DatabaseError: internal error: None

最佳答案

原来我试图插入的值之一是 unicode 类型。当我使用 str(value1) 将其转换为字符串时,查询成功了。

关于python - pymssql 问题 - INSERT 不适用于参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285052/

相关文章:

c++ - 一个pthread程序在收到条件信号后无法跳出循环

linux - 如何在 Amazon Linux 2 上安装 chrome?

python - 使用 'with' 语句后的变量范围

python - 我需要一个简洁的数据结构建议来存储非常大的数据集(在 Python 中训练朴素贝叶斯)

sql-server - MS Access 指定链接表的表插入顺序? (空外键错误)

android - 简单商店应用程序的最佳数据库

python - 使用未实例化的类作为 namespace 来组织对象?

python - 将部分结果存储在 dask 延迟迭代中

c# - Microsoft.SqlServer.Types : Error loading msvcr120. dll(错误代码:5)

linux - 在cygwin中执行kinit时遇到 "fatal error - NtCreateEvent(lock): 0xC0000077"