前提・実現したいこと
PythonでMySQLのIF_PRD_ORDテーブルからデータを取得し、それを別のTBL_PRD_ORDテーブルにinsertしたいです。
sql_ifでデータ取得までは良いですが、sql_insertのところでこけてしまっています。
色々試してみましたが詰まってしまっているため、お教えいただけるとありがたいです。
TypeError: not all arguments converted during string formatting
該当のソースコード
Python3.7.6
import pymysql RDS_HOST = "HOST" RDS_USERNAME = "USER" RDS_PASS = "PASS" RDS_DBNAME = "DB" try: #MySQLへのコネクション作成 conn = pymysql.connect(RDS_HOST, user=RDS_USERNAME, passwd=RDS_PASS, db=RDS_DBNAME, connect_timeout=5) with conn.cursor() as cursor: sql_ord_tbl = " SELECT ord FROM ORD" cursor.execute(sql_tbl) result_tbl = cursor.fetchone() if result_tbl is None: sql_if = "SELECT XXX_id, YYY_name FROM IF_ORD" cursor.execute(sql_if) result_if = cursor.fetchall() list(if_data) sql_insert = "INSERT INTO TBL_ORD (XXX_id, YYY_name) VALUES (%s,%s)" cursor.execute(sql_insert,result_if) else: #IFテーブルのIDの最大値を取る max_id = result_tbl[0].max() sql_if = "SELECT XX_id, YY_name FROM IF_PRD_ORD WHERE if_id > max_id" cursor.execute(sql_if) if_datas = cursor.fetchall() list(if_datas) sql_insert = "INSERT INTO TBL_ORD (XXX_id, YYY_name) VALUES (%s,%s)" cursor.execute(sql_insert,result_if) conn.commit()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。