【问题标题】:Hyphen in ActiveRecord queryActiveRecord 查询中的连字符
【发布时间】:2011-01-07 07:01:07
【问题描述】:

我在 CodeIgniter 中有这个活动记录查询:

$this->db->join('day-info', 'day-info.date = run-info.date');

它没有按预期运行,因为出于某种原因,它将“day”和“info”分开并给我一条错误消息。我该如何解决这个问题?

【问题讨论】:

  • 生成的sql语句是什么?您的整个活动记录查询是什么?
  • 错误信息是什么?

标签: php sql codeigniter activerecord hyphen


【解决方案1】:

这不起作用的原因是-(hypen)是一个运算符。

有一个名为day-info 的表是一个非标准的表名。

可以通过在表/列名称周围添加back-ticks (`) 来解决此问题,我相信编辑由于反引号被转义,代码将无法正确显示。

(在标准 SQL 中你可以使用双引号,MySQL 会使用反引号)。

但您真的要每次都手动转义字段吗?

在我看来,将_ 下划线用于表名和字段名最符合您的利益。

【讨论】:

  • $this->db->join('day-info', 'day-info.date = run-info.date',false);也可以工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多