db4free.net でデータフレームを MySQL にエクスポートすると、現在の python コードが機能しています。しかし、今度はbackandが提供する別の MySQL を使用する必要があります。作成したデータベース テーブル 'KLSE' に主キーの問題があることがわかりました (正直なところ、主キーがどのように役立つかわかりません)。dataframe.to_sql のドキュメントを確認したところ、index=True でさえ主キーを意味しないことがわかりました。現在存在する主キーを追加するために使用できる回避策を知りたいです。参考までに、backand データベースから dataframe.read_sql を実行し、データのクエリを実行しました (ただし、backand には主キーがないためエラーが表示されるため、REST API を作成できません)。以前のコードは db4free.net MySQL では機能しますが、backand MySQL では主キー エラーが発生します
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqldb://abc:abc@abc')
df_2.to_sql(name='KLSE', con=engine, if_exists='replace')
MySQLdb ライブラリを使用して主キーを追加しようとしましたが、KLSE テーブルが既に存在するため、作成できません。
import pandas as pd
import MySQLdb as mdb
engine = mdb.connect(host='abc',user='abc',passwd='pw',db='abc$default')
cur = engine.cursor()
cur.execute("INSERT INTO KLSE(Id INT PRIMARY KEY AUTO_INCREMENT, \Name VARCHAR(25))")
df_2.to_sql(name='KLSE', con=engine, if_exists='replace')