‘ 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 is equal to decimal 10 (ten). This is equal to the ASCII code for LF (Line Feed), which is a newline on many systems. Depending on your type, it is the number 10
or the character LF.
これはすべてドキュメントから導き出すことができます。
疑似列の結果は、各行についてCONCAT(table_name,0x0a,column_name)
、の値が1から改行文字(16進数の2 0x0A、10進数の10、または)に連結され、の値に連結されます。table_name
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メタテーブルからデータを選択する場合は、関連性がある可能性があります。
table_name と、テーブル「users」の column_name の下に、おそらく列ごとに表示されます。
users
----------
col1
col2