gpt4 book ai didi

mysql - sql-query中有垃圾数据,但仍在执行,但不影响任何结果。为什么?

转载 作者:行者123 更新时间:2023-11-29 06:41:57 27 4
gpt4 key购买 nike

我正在使用 mysql 服务器来执行 sql。
从产品 some_garbage_value 中选择 *;

Select * from products;

产生相同的值。为什么?

在some_garbage_value处输入任何内容,仍然得到相同的查询结果。

我创建了一个表单来输入查询,该表单由 servlet 处理,创建连接后,我在该 servlet 上生成查询结果。

这对我的表单来说是坏事吗?如果是,请告诉我,如何消除这个错误?这是一个错误吗?会不会是SQL注入(inject)的情况?

最佳答案

Select * from products some_garbage_value;

some_garbage_value 不是垃圾,它是一个别名。从技术上讲,这意味着对于查询范围,您已将 products 表的这次出现“重命名”为 some_garbage_value。如果您需要消除同一个表的两次出现之间的歧义(例如在自联接中),或者使您的查询更具可读性/不言自明(或者只是更短),这可能非常有用。

相当于

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]

这不适用于任何值:它必须是语法上有效的标识符。

关于mysql - sql-query中有垃圾数据,但仍在执行,但不影响任何结果。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51190695/

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