我想将csv文件写入mysql数据库,但收到以下错误消息:(mysql.connector.errors.ProgrammingError) 1148 (42000): The used
command is not allowed with this MySQL version
[SQL: LOAD DATA LOCAL INFILE 'File.csv' IGNORE INTO TABLE product FIELDS TERMINATED BY ';' LINES TERMINATED BY "\n" (Column1, Column2);]
(Background on this error at: http://sqlalche.me/e/f405)
它以前曾有过轰动,但不知何故,在新的mysql版本中,它似乎没有任何模式。建议的链接也没有真正的帮助。在
我希望我的代码采用这种方式,因为使用pandas通过to_sql转储{}并不是我控制我想做什么的方式。在
code如下所示:import sqlalchemy as sqlal
import pandas_datareader.data as pdr
import pandas as pd
mysql_engine = sqlal.create_engine('mysql+mysqlconnector://root:xxx@localhost/TableWrite')
mysql_engine.raw_connection()
metadata = sqlal.MetaData()
TableWrite = sqlal.Table('TableWrite', metadata,
sqlal.Column('Column1', sqlal.String(10), primary_key=True, nullable=False, unique=True),
sqlal.Column('Column2', sqlal.String(12), nullable=True)
)
metadata.create_all(mysql_engine)
product_data = """LOAD DATA LOCAL INFILE 'File.csv' IGNORE INTO TABLE product FIELDS TERMINATED BY ';' LINES TERMINATED BY "\\n" (Column1, Column2);"""
mysql_engine.execute(product_data)
我收到的error消息如下:
^{pr2}$