【发布时间】:2019-12-28 09:15:20
【问题描述】:
我正在尝试将一些数据插入到名为 MonitorList 的表中。 style_code 是一个字符串(例如:12345、AA12345、CJ91412。)
代码如下:
cursor.execute('''INSERT INTO "MonitorList" VALUES (%(style_code)s)''', {'style_code': style_code})
我收到此错误:
Exception: syntax error at or near "bb1111111"
我尝试在 pgadmin 查询编辑器中手动执行查询。任何没有字母的数据,例如 111111 或 1111-111 都可以完全插入。但是每当我尝试插入其中包含字母的数据时,例如 BB1111111,我都会收到此错误:
LINE 1: INSERT INTO "MonitorList" VALUES (BB1111111)
^
SQL state: 42703
Character: 35
我已经尝试在查询中指定列名,如下所示:
INSERT INTO "MonitorList" ("StyleCode") VALUES (BB1111111)
但这并没有解决问题。我能够手动插入带有字母的数据的唯一方法是使用此查询(在数据中添加单引号:
INSERT INTO "MonitorList" ("StyleCode") VALUES ('BB1111111')
但是,在 python 代码中在 %(style_code)s 周围添加单引号并不能解决问题。
MonitorList 表只有 1 列(主键,不能为空,数据类型:文本)有什么想法吗?
【问题讨论】:
-
检查MonitorList表中列的数据类型。
-
@dassum 是“文本”
-
请分享你的python代码。
标签: python postgresql psycopg2 pgadmin-4