sql-query 中有垃圾数据,但它仍在执行,尽管不影响任何结果。为什么?
There is garbage data in sql-query but it is still executing, although not affecting any results. Why?
我正在为 sql 使用 mysql 服务器。
Select * from products some_garbage_value;
和
Select * from products;
结果相同。为什么?
在some_garbage_value处随便输入,还是一样的查询结果。
我创建了一个表单来输入查询,该表单由 servlet 处理,在创建连接后,我在该 servlet 上生成查询结果。
这对我的表单来说是坏事吗?如果是,请告诉我,如何摆脱这个错误?这是一个错误吗?会不会是SQL注入的情况?
在
Select * from products some_garbage_value;
some_garbage_value
不是垃圾,是别名。从技术上讲,这意味着对于查询范围,您有 'renamed' 次出现 products
table 到 some_garbage_value
。如果您需要在两次出现的相同 table 之间消除歧义(例如在自连接中),或者使您的查询更多 readable/self-explanatory(或更短),这将非常有用。
相当于
Select * from products as some_garbage_value;
另见 MySQL reference for select
:
The FROM table_references
clause indicates the table or tables from
which to retrieve rows. If you name more than one table, you are
performing a join. For information on join syntax, see Section
13.2.9.2, “JOIN Syntax”. For each table specified, you can optionally specify an alias.
tbl_name [[AS] alias] [index_hint]
这不适用于任何值:它必须是语法上有效的标识符。
我正在为 sql 使用 mysql 服务器。
Select * from products some_garbage_value;
和
Select * from products;
结果相同。为什么?
在some_garbage_value处随便输入,还是一样的查询结果。
我创建了一个表单来输入查询,该表单由 servlet 处理,在创建连接后,我在该 servlet 上生成查询结果。
这对我的表单来说是坏事吗?如果是,请告诉我,如何摆脱这个错误?这是一个错误吗?会不会是SQL注入的情况?
在
Select * from products some_garbage_value;
some_garbage_value
不是垃圾,是别名。从技术上讲,这意味着对于查询范围,您有 'renamed' 次出现 products
table 到 some_garbage_value
。如果您需要在两次出现的相同 table 之间消除歧义(例如在自连接中),或者使您的查询更多 readable/self-explanatory(或更短),这将非常有用。
相当于
Select * from products as some_garbage_value;
另见 MySQL reference for select
:
The
FROM table_references
clause indicates the table or tables from which to retrieve rows. If you name more than one table, you are performing a join. For information on join syntax, see Section 13.2.9.2, “JOIN Syntax”. For each table specified, you can optionally specify an alias.tbl_name [[AS] alias] [index_hint]
这不适用于任何值:它必须是语法上有效的标识符。