id)->orWhere("from=?",$user->id); 它在 t-6ren">
gpt4 book ai didi

mysql - Zend 查询仅适用于反引号 : When are backticks necessary

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:18 29 4
gpt4 key购买 nike

好的,所以我有这个标准查询来为用户获取消息

$s=$this->select()->where("to=?",$user->id)->orWhere("from=?",$user->id);

它在 to 附近给出语法错误。

生成的sql

SELECT `messages`.* FROM `messages` WHERE (to='1')

在phpymysql中也报错

所以我发现在 to 和 from 周围使用反引号可以使它消失

$s=$this->select()->where("`to`=?",$user->id)->orWhere("`from`=?",$user->id);

这让我有点困惑,因为我不需要在同一个数据库的另一个表中这样做

$select=$this->select()->where("city_id=?",$city->city_id);
//Works just fine w/o backticks

这是为什么?什么时候真正需要反引号?这三个都是 INT(11) 列,所以区别在哪里

最佳答案

TO 是 mysql 中的关键字。如果我们使用关键字作为字段名称,那么它必须包含在反引号中以区分它不应该用作关键字

关于mysql - Zend 查询仅适用于反引号 : When are backticks necessary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204649/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com