小编典典

sql select语句给出列错误

sql

当我使用

SELECT order_id from `order` where `order_id`=U687678601

我得到错误

错误1054:where子句中的未知列’U687678601’

但是当我键入

SELECT order_id from`order` where `order_id`='U687678601'

它工作正常。

我正在使用mysql。

我知道这是一个新手问题,但是谁能解释为什么会这样,我可以通过编程方式添加引号吗?通过代码添加引号是个好主意吗?

谢谢


阅读 164

收藏
2021-04-14

共1个答案

小编典典

当我们向SQL查询提供字符串/ varchar类型时,必须使用’‘指定它。对于非varchar类型,则无需提供“。这就是为什么当您写时您的查询工作正常

SELECT order_id fromorder where order_id='U687678601'

这表明您的order_id列包含varchar类型。因此,从现在开始,您应该将以下语法应用于SQL查询:

SELECT column_name,..... FROM table WHERE column_name = 'varchar_value'

或者

SELECT column_name,..... FROM table WHERE column_name = nonvarchar_value.

并且还考虑到ORDER是保留关键字..因此,尝试将表名更改为其他名称,例如order_table,否则…

2021-04-14