mysql ignore errors_pythonmysql使用sqlalchemy将数据写入DB时出错(mysql.connector.errors.编程错误)1148...

我想将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}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值