У меня есть df со столбцом строкового типа, и ячейка может быть пустой строкой "" (без пробела между).Я хочу записать df в mysql следующим образом:
df.to_sql(name, conn)
, а затем я хочу запросить df и отфильтровать ячейки с пустой строкой, как:
sql = 'select * from <tabname> where col = "" '
df = pd.read_sql_query(sql, conn)
однако,он выдаст ошибки:
(pymysql.err.ProgrammingError) (1064, «У вас ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему версии вашего сервера MariaDB, для правильного синтаксиса, который можно использовать рядом с \" by = ""и ds = 20190618 \ 'в строке 1')
Я пытался использовать как:
sql = "select * from <tabname> where col = '' "
<or>
sql = 'select * from <tabname> where col = \'\'' .
<or>
sql = 'select * from <tabname> where col = {0}'.format('')
, но ни один не работал:
(pymysql.err.ProgrammingError) (1064," Выесть ошибка в вашем синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с 'by =' 'и ds = 20190618' в строке 1 ")
сообщение об ошибке показало, что он успешно проанализировал строку запроса sql , но, похоже, mysql его не распознал.