postgresql 在RDS表中插入时字符串格式化出错

lxkprmvk  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(146)

当我试图将一些数据插入表中时,我得到了这个错误:在字符串格式化过程中未转换所有参数
我的代码看起来是这样的(只是删除了一些敏感的部分)

for item in reversed(items):
    parents = item['parents']
    folder_id = item['id']
    created_time = item['createdTime']
    salvarDB(parents, folder_id, created_time)

和/或

import psycopg2
import logging

def salvarDB (parents, folder_id, created_time):
  #função para enviar dados para o RDS
  try:
    psconn = psycopg2.connect(host="", port = , database="", user="", password="")
    queryInsert ="""
            insert into public."Folders"
                            (
                              google_drive_id,
                              google_drive_path,
                              "createdTime",
                              parent,
                              permission_status
                              )
                              VALUES (%%s, %s, %s, %%s, %s)""" % folder_id, None, created_time, parents, "e182c2c8-46ea-472c-adab-c49d60a2998a")
    cursor = psconn.cursor()
    cursor.execute(queryInsert)
    psconn.commit()
    cursor.close()
    psconn.close()
  except (Exception, psycopg2.DatabaseError) as error:
    print(error)

我改了这条线:

VALUES (%%s, %s, %s, %%s, %s)""" % folder_id, None, created_time, parents, "e182c2c8-46ea-472c-adab-c49d60a2998a")

收件人:

VALUES ('%s', '%s', '%s', '%s', '%s')''' % (folder_id, None, created_time, parents, "e182c2c8-46ea-472c-adab-c49d60a2998a")

我得到了另一个错误:
语法错误位于或接近“0”行10:...','无','2020-06-23 18:45:58.990000+00:00 ','['0ADmCT 94 wu...
最后是一个项目内容的示例:
{'parents': ['1bX__7p5rkhjFEmNtkfvQFPdbat'], 'id': '1lAixT6Z0qvyHxYa7DkCfSUxUiI', 'name': '220923_P_C', 'createdTime': '2022-09-23T15:03:59.308Z'}
数据库:x1c 0d1x
有人能帮我解决这个问题吗??
我试着用查询传递变量并将其分离,无论如何我得到了同样的错误,我真的不明白字符串发生了什么。

1zmg4dgp

1zmg4dgp1#

VALUES (%%s, %s, %s, %%s, %s)""" % folder_id, None, created_time, parents, "e182c2c8-46ea-472c-adab-c49d60a2998a")

这个字符串中只有三个%s,但是你传递了五个值。这就是错误。
%%s不计算,因为额外的%

相关问题