我在使用pandas dataframe.to_sql诊断错误时遇到了困难。
首先,我使用 connection = mysql.connector.connect
来获取连接。
然后,我尝试使用以下语句将数据插入mysql数据库:
df.to_sql('SData', con=connection, if_exists='append', chunksize=1000)
但是,出现了以下错误:
执行SQL“SELECT name FROM sqlite_master WHERE type='table' AND name=?;”失败:SQL语句中没有使用所有参数
SData表和df具有相同的字段/名称,除了表有一个自动递增的主键,因此我能想到的唯一可能就是由于主键的原因导致不是所有字段都匹配...
我还不明白为什么to_sql中会有一个select语句,除非它正在检查字段名称或类似的东西?
数据字段如下:
Database:
SID Primary key
SSID int(foreign key)
FirstValue decimal
SecondValue decimal
DF:
FirstValue
SecondValue
SSID
在打字的过程中,我意识到数据框的顺序不同。虽然不认为这会是一个问题,但我会进一步研究一下。
谢谢。
sqlalchemy.create_engine
创建连接吗? - Chris Adams