Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แสดงรายการตัวแปรที่ตั้งค่าด้วย SET ใน MySQL

Query ดูตัวแปร User-Defined ทั้งหมด

SELECT * FROM performance_schema.user_variables_by_thread;

ตัวอย่างการตั้งค่าและตรวจสอบ

mysql> SET @FirstName = 'John';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @LastName = 'Doe';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM performance_schema.user_variables_by_thread;

ผลลัพธ์:

+-----------+---------------+----------------+
| THREAD_ID | VARIABLE_NAME | VARIABLE_VALUE |
+-----------+---------------+----------------+
|       120 | TotalAmount   | 5000           |
|       120 | FirstName     | John           |
|       120 | lName         | Smith          |
|       120 | fName         | Adam           |
|       120 | LastName      | Doe            |
+-----------+---------------+----------------+

คอลัมน์ในตาราง

ข้อมูลเพิ่มเติม

  • ต้องมีสิทธิ์ SELECT บน performance_schema
  • performance_schema ต้องเปิดใช้งาน (Default: ON ใน MySQL 5.6+)
  • แสดงเฉพาะ Session ปัจจุบัน (Thread ID ของ Connection นี้)
  • Variable ที่ SET ใน Session อื่น จะมี Thread ID ต่างกัน

คำสั่งที่เกี่ยวข้อง

-- ดู Thread ID ปัจจุบัน
SELECT CONNECTION_ID();

-- ดู System Variables (ไม่ใช่ User Variables)
SHOW VARIABLES;
SELECT * FROM performance_schema.global_variables;

-- ล้าง User Variables ทั้งหมด (Reconnect หรือ)
-- ไม่มีคำสั่งโดยตรง ต้อง SET ทีละตัวหรือ Reconnect

User Variables vs System Variables

คอลัมน์คำอธิบาย
THREAD_IDThread/Connection ID ที่ตั้งค่าตัวแปร
VARIABLE_NAMEชื่อตัวแปร (ไม่รวม @)
VARIABLE_VALUEค่าของตัวแปร
ประเภทPrefixScopeตัวอย่าง
User-Defined@Session@myVar
System (Global)@@global.Global@@global.max_connections
System (Session)@@session. / @@Session@@sort_buffer_size