‘ union select null,concat(table_name,0x0a,column_name)
from information_schema.columns where table_name= ‘users’#
我想知道上述语句中的 0x0a 代表什么。
非常感谢
‘ union select null,concat(table_name,0x0a,column_name)
from information_schema.columns where table_name= ‘users’#
我想知道上述语句中的 0x0a 代表什么。
非常感谢
0x0A 等于十进制 10(十)。这等于 LF(换行)的 ASCII 码,在许多系统上都是换行符。根据您的类型,它是数字 10
或字符LF。
它将显示 table_name 和表“users”的 column_name 下方,可能针对每一列:
users
----------
col1
col2
这都可以从文档中得出。
CONCAT(table_name,0x0a,column_name)
对于每一行,伪列的结果将是 的值table_name
,将1连接到换行符(十六进制2 0x0A,十进制 10 或),连接到 的值。LF
column_name
也就是说,对于每一行数据,您将看到 的值table_name
,然后在视觉“下方”的一行中:column_name
+------------+---------------+---------------------------------------+
| table_name | column_name | CONCAT(table_name,0x0a,column_name) |
+------------+---------------+---------------------------------------+
| a | b | a |
| | | b |
+------------+---------------+---------------------------------------+
| c | d | c |
| | | d |
+------------+---------------+---------------------------------------+
| e | f | e |
| | | f |
+------------+---------------+---------------------------------------+
只有你可能知道你是否“需要”这个,但它看起来确实不寻常。通常,您只需在结果集中独立包含table_name
并column_name
在其他地方进行演示/格式化。
SELECT table_name, column_name
此外,对于表中的列,两者的名称都非常令人困惑table_name
。column_name
但是,如果您从包含有关其他表的信息的 MySQL 元表中选择数据,则它可能是相关的。