‘ 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 或),连接到 的值。LFcolumn_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 元表中选择数据,则它可能是相关的。