You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询排序:如何让默认地址优先显示及解决语法错误

SQL排序语法错误解决:关键字字段引发的问题

原始查询及结果

执行以下PHP查询代码:

$sql = "SELECT * FROM addresses WHERE user='$userid'";

查询结果如下:

idaddressdefault
1address1no
2address2no
3address3no
4address4yes
5address5no
6address6no

需求

需要将default字段值为yes的记录(始终仅一条)优先显示,期望结果如下:

idaddressdefault
4address4yes
1address1no
2address2no
3address3no
5address5no
6address6no

错误尝试及报错信息

尝试执行以下SQL语句时触发语法错误:

$sql = "SELECT * FROM addresses WHERE user='$userid' ORDER BY FIELD(default,'yes')";

错误提示:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''yes')' at line 1

解决方法

经@Jens建议,由于default是SQL关键字,将该列重命名为defaultaddress后,问题成功解决。


内容的提问来源于stack exchange,提问作者AbleInfosoft Gmail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 07:50:47