【发布时间】:2022-01-07 04:03:40
【问题描述】:
我在 SQL 中有一个非常奇怪的错误。
我正在尝试使用 python 中的 pyodbc 库更新数据库字段。
查询如下:
UPDATE companyies SET primary_domain='vilatec.com' WHERE codi= '1c44f4dd-b54c-4982-9eaa-b1baef92a65f';
如您所见,vilatec.com 是一个字符串。这实际上在我的数据库上更新,但随后我收到错误:The multi-part identifier 'vilatec.com' could not be found
看起来它没有将 vilatec.com 作为字符串读取,但如果它是参考,但无论如何它都会更新。你建议做什么?有没有办法引用角色。所以它不会捕获错误或者我应该忽略这个异常吗?
连接:
connection = pyodbc.connect(driver=driver, server=server, user=user_db, password=password, database=database)
cur = connection.cursor()
这是代码:
query = """UPDATE companyies SET primary_domain='vilatec.com' WHERE codi= '1c44f4dd-b54c-4982-9eaa-b1baef92a65f';"""
execute_sql(query,cur,connection)
def execute_sql(query,cur,connection):
cur.execute(query)
connection.commit()
原来的查询是:
query = """UPDATE companyies SET primary_domain ='{0}' WHERE codi= '{1}';""".format(primary_domain, company_id)
primary_domain 是 'vilatec.com'
【问题讨论】:
-
你确定你没有忘记引号吗? (
')。错误是“找到”还是“绑定”? -
嗨!是的,我正在打印查询以确保它有单引号。由于答案是西班牙语,我无法告诉您它是否显示找到或绑定。我写了发现,因为这是我在互联网上的大多数问题中看到的。如果您想要文字错误是: El identificador formado por varias partes 'vilatec.com' no se pudo enlazar。 4104
-
您使用什么风格的 SQL? SQL 服务器? MySQL?
-
我正在使用 SQL 服务器
-
您可以编辑您的帖子以包含用于重现错误的代码吗?