私はCodeIgniterにこのアクティブレコードクエリを持っています:
$this->db->join('day-info', 'day-info.date = run-info.date');
何らかの理由で「日」と「情報」が分離され、エラーメッセージが表示されるため、期待どおりに実行されません。どうすればこれを修正できますか?
私はCodeIgniterにこのアクティブレコードクエリを持っています:
$this->db->join('day-info', 'day-info.date = run-info.date');
何らかの理由で「日」と「情報」が分離され、エラーメッセージが表示されるため、期待どおりに実行されません。どうすればこれを修正できますか?
これが機能しない理由は、-
(ハイフン) が演算子であるためです。
テーブルにday-info
名前を付けることは、非標準のテーブル名です。
テーブル/列名の周りに (`)
を追加することで、これを修正できると思います。バックティックがエスケープされているため、コードを編集しても適切に表示されません。back-ticks
(標準 SQL では二重引用符を使用できますが、MySQL ではバックティックを使用します)。
しかし、毎回フィールドを手動でエスケープしたいですか?
私の意見では、_
代わりにテーブル名とフィールド名にアンダースコアを使用することをお勧めします。