我通过python使用Postrgesql,但在下面的插入中出现错误,声称“column”\ufeff61356169“不存在”
c_id = "\ufeff61356169"
chunk = "engine"
query = f"""
INSERT INTO company_chunks(company_id, chunk)
VALUES(`{c_id}`, `{chunk}`);
"""
c.execute(query)
>>>
DatabaseError: {'S': 'ERROR', 'V': 'ERROR', 'C': '42703', 'M': 'column "\ufeff61356169" does not exist', 'P': '88', 'F': 'parse_relation.c', 'L': '3514', 'R': 'errorMissingColumn'}
一个关键注释:“\ufeff61356169”是要插入到列中的值。所以这个错误使我困惑。它混淆了应该接收插入的列的插入值。有什么想法吗
为了验证其他一切是否正常,我确保检查表是否已成功创建
query = """
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'company_chunks';
"""
c.execute(query)
c.fetchall()
>>>
(['company_id'], ['chunk'])
所以这个表确实存在,并且它有一些列,我正在尝试插入这些列。我哪里出了问题
顺便说一句,我正在通过云SQL Python连接器连接到这个存储在GCP中的数据库。但是,这个连接器能够创建表,所以我认为问题是特定于python语法和/或Postgres的
编辑:为了理解此表的外观,下面是创建查询
query= """
CREATE TABLE company_chunks
(
company_id VARCHAR(25) NOT NULL,
chunk VARCHAR(100) NOT NULL
);
"""
c.execute(query)
conn.commit()
最好使用%s占位符来执行此操作:
相关问题 更多 >
编程相关推荐