当我使用
SELECT order_id from `order` where `order_id`=U687678601
我得到错误
错误1054:where子句中的未知列’U687678601’
但是当我键入
SELECT order_id from`order` where `order_id`='U687678601'
它工作正常。
我正在使用mysql。
我知道这是一个新手问题,但是谁能解释为什么会这样,我可以通过编程方式添加引号吗?通过代码添加引号是个好主意吗?
谢谢
当我们向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,否则…