2012-02-19 7 views
1

Pythonを使用してSQLスクリプトを作成するために、内容を読み込んでinsert文を作成しようとしています。Pythonを使用してsqlを処理するときのアポストロフィ( ')のヘルプ

私が読んでいるコンテンツにaprostropheが含まれていて、この問題を解決するにはどうすればよいか分かりません。なぜなら、単に他の文字とasciimathml(数学データ)を扱っていて、私が読んだ内容を変更することはできません。

多くの感謝!

+3

アポストロフィが問題になる場合は、データをエスケープしていません(SQLクエリの一部として使用する前に行う必要があります)。あなたがエスケープされていないものを処理するために特に興味深い入力文字列の例については、http://xkcd.com/327/を参照してください。 – Borealid

+0

"python sql parameters"のクイック検索が見つかりました[この質問](http://stackoverflow.com/questions/3410455/how-do-i-use-sql-parameters-with-python) - そうでない場合(異なるSQLライブラリを使用していますか?)次に、ライブラリの名前と "parameter"という単語を含む検索を行います。 –

答えて

3

エスケープ文字列関数(dbパッケージごとに提供)のいずれかを使用して、単一引用符を二重にするか、バックスラッシュで先行させることができます。しかし、パラメータ置換を使用すると、より良い結果が得られます。例:

cursor.execute("INSERT INTO Test (column1, column2) VALUES (?, ?)", "It's all right", 45) 

このようにして、サーバーが文字列が正しくエスケープされるようにします。

関連する問題