Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tworzenie wyzwalacza w mysql dla generacji UUID

Jak wspomniał @mabi w komentarzach - masz błąd składni z nawiasami. Poniższy zmodyfikowany kod działa dla mnie:

DELIMITER #
CREATE TRIGGER insert_guid 
BEFORE INSERT ON guid_tool
FOR EACH  ROW 
BEGIN 
    SET NEW.guid_key = UUID(); 
END;
#
DELIMITER ;

Testowanie:

mysql> INSERT INTO guid_tool (ID) VALUES (1);
Query OK, 1 row affected, 1 warning (0.04 sec)

mysql> SELECT * FROM guid_tool;
+----+--------------------------------------+
| ID | guid_key                             |
+----+--------------------------------------+
|  1 | a0467ebf-5c4f-11e3-903a-6cccbb4423e3 |
+----+--------------------------------------+
1 row in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wygląda składnia Alter Table przy dodawaniu kolumny DATETIME?

  2. Jak sprawdzić uprawnienia użytkownika w MySQL Workbench za pomocą GUI

  3. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:awaria łącza komunikacyjnego

  4. Jak ustawić domyślną wartość typu danych MySQL enum na „Nie”?

  5. PDO Multi-query SQLSTATE[HY000]:Błąd ogólny