我想使用这个python命令将mysql数据库导出到.csv文件中。python mysql escape n(简单语法错误)
cursor.execute("""SELECT * INTO OUTFILE 'NullServids.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\\n' FROM accounts WHERE srvid is NULL""")
但它返回以下语法错误。
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\\n' FROM accounts WHERE srvid is NULL' at line 1")
因此,我试图不逃脱换行符,当我将它复制并粘贴到MySQL时显然是有效的。
cursor.execute("""SELECT * INTO OUTFILE 'NullServids.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' FROM accounts WHERE srvid is NULL""")
但我得到这个错误:
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' FROM accounts WHERE srvid is NULL' at line 2")
所以我的问题是,什么是逃跑的换行符,这样在cursor.execute()
调用正确解释的正确方法?我谷歌搜索,找不到答案,很多我的尴尬。
应该只是“\ n”。你有没有试过简化查询,以确保它真的是'LINES TERMINATED BY'部分的问题?例如,尝试在选择后移动'FROM..WHERE..',并暂时离开'INTO'。然后一次添加INTO。 – azhrei 2012-08-14 01:20:57