2012-04-04 24 views
1

名前にスペースが含まれている列を照会したいとします。シェルスクリプトは次のとおりです。sqlite3の引用符をエスケープする

select "Column 1" from aTable; 

多分それは遅れているが、私はAppleScriptを脱出に苦労しています:あなたのSQL周り

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \"Address 1\" from aTable limit 10; \"" 
+4

実際のSQLiteバインディングを使用するように説得するのは時期尚早ですか? –

答えて

2

使用単一引用符:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db 'select \"Address 1\" from aTable limit 10; '" 

かをどこにでも二重引用符を使用して、さらにエスケープを追加してください:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \\\"Address 1\\\" from aTable limit 10; \"" 

シェルにエスケープされた二重引用符を取得するためにエスケープする必要があるため、3つが必要です。 Ick。

また、ネイティブのAppleScript SQLiteインターフェイスを使用すると、数分のグーグル・グーグルで上記のネストされた見積もりの​​狂気よりも素晴らしいものが見つかるはずです。

+0

3つすべてのアカウントで、ありがとうございました。 – adayzdone

関連する問題