【发布时间】:2025-12-11 13:05:01
【问题描述】:
我正在尝试使用 Oracle 插入表中。我收到“缺少逗号”错误。有什么问题? 编辑: res 是一个数值 edit2:我想通了并更改了代码
with io.open(path, encoding='utf-8') as f:
reader = csv.reader(f, delimiter=';')
first = True
for r in reader:
if first:
first = False
continue
res = clearNumber(r[4])
cursor.execute("INSERT INTO PHONES(name, phnumber, phnumber_int) VALUES(:name, :phnumber, :phnumber_int)", [r[3], r[4], res])
conn.commit()
【问题讨论】:
-
您使用的是什么 Oracle 驱动程序?这是传递绑定值的方式吗?我对此表示怀疑。你能在 PHONES 中插入一行吗?
-
从文档中,一个例子: cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar')) - 你的问题是您的变量是字符串的一部分,而不是变量的值。编辑:对不起,这是 postgreSQL - 所以这里可能不一样
-
我想使用占位符。我以前只使用过 SQLite,每个示例中都有 :var。
-
:var 是正确的,但请提供有关您收到的错误消息的其他信息,列名称、phnumber 和 phnumber_int 的类型以及 r[3]、r 中的值是什么[4] 和资源。
标签: python sql oracle cx-oracle