![](/img/trans.png)
[英]Database schema changing when using pandas to_sql in django
[英]How to explicitly set database engine when using to_sql() in pandas
如何在pandas to_sql()函數中修補sql語句,以便新創建的表使用MYISAM存儲引擎?
我需要MYISAM,因為有大量的列。 當前,這會導致標准數據庫引擎INNODB出現問題(行大小太大(> 8126)。
我知道可以在創建表時在mysql語句中顯式設置數據庫引擎。 也許可以修補由to_sql()函數生成的sql?
要明確指定要使用MyISAM表,請使用ENGINE表選項進行指示:CREATE TABLE t(i INT)ENGINE = MYISAM;
這是我當前創建表格的方式
df.to_sql(con=engine, name="generated_" + reportConfiguration.shortName + "_" + reportConfiguration.marketplace, if_exists='replace',index=False)
據我所知,不能使用df.to_sql
或engine = create_engine('mysql+pymy....://x@y/z')
設置MySQL的 存儲引擎 。
創建MySQL存儲引擎后,即可將其添加到表結構中。
通過engine
連接executing
alter table
命令,您可以修改表存儲引擎。
范例 :
with engine.begin() as conn:
conn.execute("ALTER TABLE table_name ENGINE = MYISAM")
說明文件 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.