0
‘ union select null,concat(table_name,0x0a,column_name) 

from information_schema.columns where table_name= ‘users’#

上記のステートメントの 0x0a が何を表しているのか疑問に思っています。

どうもありがとう

4

3 に答える 3

1

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.

于 2013-02-03T13:09:01.907 に答える
0

これはすべてドキュメントから導き出すことができます。

疑似列の結果は、各行についてCONCAT(table_name,0x0a,column_name)、の値が1から改行文字(16進数の2 0x0A、10進数の10、または)に連結され、の値に連結されます。table_nameLFcolumn_name

つまり、データの各行について、の値が視覚的に「下」に表示されますtable_namecolumn_name

+------------+---------------+---------------------------------------+
| table_name |  column_name  |  CONCAT(table_name,0x0a,column_name)  |
+------------+---------------+---------------------------------------+
|     a      |       b       |                   a                   |
|            |               |                   b                   |
+------------+---------------+---------------------------------------+
|     c      |       d       |                   c                   |
|            |               |                   d                   |
+------------+---------------+---------------------------------------+
|     e      |       f       |                   e                   |
|            |               |                   f                   |
+------------+---------------+---------------------------------------+

これが「必要」かどうかを知ることができるのはあなただけですが、それは珍しいようです。通常、結果セットに独立して含めtable_namecolumn_name他の場所でプレゼンテーション/フォーマットを行います。

SELECT table_name, column_name

また、table_namecolumn_nameはどちらもテーブルの列の非常に紛らわしい名前です。ただし、他のテーブルに関する情報を含むMySQLメタテーブルからデータを選択する場合は、関連性がある可能性があります。


1 文字列の連結は、2つの文字列をエンドツーエンドで結合する操作です。

2 16進数(16進数または16進数)は、基数または基数が16の位取り記数法です。

于 2013-02-03T13:13:09.313 に答える
0

table_name と、テーブル「users」の column_name の下に、おそらく列ごとに表示されます。

users
----------
col1
col2
于 2013-02-03T13:11:25.687 に答える