(MySQL, SQLite)テーブル名、フィールド名をクオートで囲みたい場合

大抵はクオートで囲まなくても問題ありません。
※ データ値はシングルクオートで囲む必要があります。


SELECT * FROM table WHERE field = 'データ値'
ずっとこの書き方を続けていましたが、うっかりSQL予約語である"explain"をフィールド名に使ってしまったせいで、エラーに悩まされることになってしまいました。


※ エラーになる
SELECT * FROM table WHERE explain = 'データ値'

で、クオートで囲む必要に迫られたわけです。
MySQLSQLiteでは、使うクオート記号が違います。

MySQL
バッククオート(`)を使います。

SELECT * FROM `table` WHERE `explain` = 'データ値'


SQLite
ダブルクオート(")を使います。

SELECT * FROM "table" WHERE "explain" = 'データ値'


私が持ってるMySQLSQLiteの参考書をざっと読み返してみたところ、上のような作法には触れられていませんでした。
例文ではテーブル名、フィールド名はクオートで囲まずに裸で記述していました。
おかげで解決までに結構な時間を要しました (-_-;)