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

จะแสดงรายการทริกเกอร์ทั้งหมดในฐานข้อมูล MySQL ได้อย่างไร


ในการแสดงรายการทริกเกอร์ทั้งหมดในฐานข้อมูล MySQL คุณสามารถใช้คำสั่ง SHOW แบบสอบถามมีดังนี้ −

mysql> แสดงทริกเกอร์

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----------------+---------+-------------------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------- --------------------------------------------------------------- +---------------------- +---------------------- +---------------- -------------------------------+| ทริกเกอร์ | เหตุการณ์ | ตาราง | คำชี้แจง | เวลา | สร้าง | sql_mode | ผู้กำหนด | character_set_client | collation_connection | การเปรียบเทียบฐานข้อมูล |+----------------+---------+-------------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------- --------------------------------------------------------------- +---------------------- +---------------------- +---------------- -------------------------------+| binsertTrigger | INSERT | functiontriggersdemo | SET new.Id =uuid() | ก่อน | 2018-10-16 13:36:09.86 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci || Table1Trigger | INSERT | ตารางที่ 1 | Begininsert ลงใน Table2(id, name) ค่า (new.id, new.name);end | หลัง | 2018-10-23 10:51:31.76 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci || insertBef | INSERT | tblfunctiontrigger | SET new.id =uuid() | ก่อน | 2018-10-16 13:44:10.93 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | cp850 | cp850_general_ci | utf8mb4_unicode_ci |+----------------+ --------+--------------------------- -+------------------------------------------------ -------------------------------------------------------------------------- ----+----------------------------------------------------------+ ------------------------------------------------------------------------------------------- -----+--------------------+3 แถวในชุด (0.13 วินาที)

คุณเข้าถึงตาราง information_schema ได้โดยใช้ข้อความค้นหาต่อไปนี้

หมายเหตุ − คุณต้องมี MySQL เวอร์ชัน 5.0.10 ขึ้นไป ฉันกำลังใช้ MySQL เวอร์ชัน 8.0.12 -

mysql> เลือก trigger_schema, trigger_name, action_statement−> จาก information_schema.triggers;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----------------+---------------------------+ -------------------------------------------------- -------------------------------------------------- ---------------+| TRIGGER_SCHEMA | TRIGGER_NAME | ACTION_STATEMENT |+----------+---------------------------+- -------------------------------------------------- -------------------------------------------------- --------------+| sys | sys_config_insert_set_user | BEGIN IF @sys.ignore_sys_config_triggers !=true และ NEW.set_by เป็น NULL แล้วจึงตั้งค่า NEW.set_by =USER(); สิ้นสุดถ้า; END || sys | sys_config_update_set_user | BEGIN IF @sys.ignore_sys_config_triggers !=true และ NEW.set_by เป็น NULL แล้วจึงตั้งค่า NEW.set_by =USER(); สิ้นสุดถ้า; END || ธุรกิจ | binsertTrigger | SET new.Id =uuid() || ธุรกิจ | insertBef | SET new.id =uuid() || ธุรกิจ | Table1Trigger | Begininsert ลงใน Table2(id, name) ค่า (new.id, new.name);end |+----------------+----------- -------------------------------------------------- -------------------------------------------------- ---------------------------------+5 แถวในชุด (0.00 วินาที)