データベースのテーブル名または列名として、「user」や「right」などの予約語を使用したいと思います。これまでバッククォートを使用してきましたが、MySQL固有であるとどこかで読んだので、データベースの互換性を維持したいと思います。逆引用符を使用しないようにMySQLでANSIモードを使用する方法についても読みましたが、アプリ内のすべてをUTF-8にする必要があります。
逆引用符を使用したり、データベース間の互換性を失うことなく、予約語を使用するにはどうすればよいですか?
データベースのテーブル名または列名として、「user」や「right」などの予約語を使用したいと思います。これまでバッククォートを使用してきましたが、MySQL固有であるとどこかで読んだので、データベースの互換性を維持したいと思います。逆引用符を使用しないようにMySQLでANSIモードを使用する方法についても読みましたが、アプリ内のすべてをUTF-8にする必要があります。
逆引用符を使用したり、データベース間の互換性を失うことなく、予約語を使用するにはどうすればよいですか?
MySQL は、テーブル名や列名などの識別子を二重引用符で囲むという ANSI 標準をサポートしています。デフォルトでは、MySQL は一重引用符と二重引用符の両方を文字列リテラルを囲むものとして認識するため、このオプションを有効にする必要があります。
http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_ansi_quotes