我有一个python脚本,它将csv作为输入并将其数据插入数据库。我从一个php脚本调用这个脚本,在那里我生成这个CSV。如果我从终端调用python脚本并将csv传递给它,它就能很好地工作,但是如果我使用
exec('python bulk_metadata_ingest_dev.py '. $metadataCSV);它在插入表时抛出一个mysql错误。
_mysql_exceptions.ProgrammingError:(1064,您的SQL语法有错误;请检查与MySQL服务器版本对应的手册,以获得正确的语法,使用text \'text插入“第1行”)
引发此错误的查询:
cursor = db.query("insert into test_table(asset_type, attribute_id, asset_title, is_publishable, owner) values(\""+str(mediaAssetTypeDict[sample_content.media_type.lower()])+"\", \""+str(attributeId)+"\", \""+str(assetTitle)+"\", \""+str(publishAssets)+"\", \""+str(sample_content.content_owner)+"\" )")在python中,我不知道如何处理这个问题。提前感谢
发布于 2016-07-10 20:08:16
看起来,您在表中使用mySQL保留字OWNER作为列名,而不使用backticks。尝试将选择更改为:
...("insert into test_table(asset_type, attribute_id, asset_title, is_publishable, `owner`")...
^ ^查看文档中的表9.2以获得完整的列表。
https://stackoverflow.com/questions/38295863
复制相似问题