Вставка строки из базы данных в другую

Я пытаюсь вставить строку с сервера базы данных на другой сервер базы данных в другой среде, используя pymysql

prod_conn = pymysql.connect(
        prod_common_db_endpoint,
        prod_user,
        prod_password,
        prod_common_table_name)

prod_cursor = prod_conn.cursor()


prod_ConnectFirm_table = prod_cursor.execute("select * from Common.ConnectFirm where FirmId = " + prod_source_firm + ";")
for row in prod_ConnectFirm_table:
    ConnectFirmId = int(row[1])
    ConnectFirmName = (row[2])
    FirmId = int(row[3])
    isDeleted = (row[4])
    tags = (row[5])
    createdDate = (row[6])
    createdBy = int(row[7])
    editedDate = (row[8])
    editedBy = int(row[9])


conn = pymysql.connect(target_common_db_endpoint, user, password, common_schema_name)

cursor = conn.cursor()

cursor.execute("INSERT INTO Common.ConnectFirm(ConnectFirmId, ConnectFirmName, editedDate) VALUES(" + ConnectFirmId + ", " + ConnectFirmName + ", " + editedDate + ", ")")
conn.commit()
print("error inserting")

это не дает мне эту ошибку

Traceback (most recent call last):
  File "sql_test_3_d.py", line 109, in <module>
    for row in prod_orionConnectFirm_table:
TypeError: 'int' object is not iterable

1 ответ

prod_ConnectFirm_table будет содержать состояние выполнения, которое является целочисленным значением, которое вы не можете переопределить. Так что после выполнения запроса:

prod_ConnectFirm_table = prod_cursor.execute("select * from Common.ConnectFirm where FirmId = " + prod_source_firm + ";")

вам нужно извлечь данные из курсора:

data = prod_cursor.fetchall()

"data" будет содержать результат запроса в виде кортежа, который вы анализируете.

Другие вопросы по тегам