sql >> Databáze >  >> RDS >> Mysql

Spouštěč v mysql způsobující chybu

Deklarovali jste před definicí spouštěče oddělovač? Něco jako

DELIMITER //
CREATE TRIGGER tg_order_insert
BEFORE INSERT 
    ON `order` FOR EACH ROW
BEGIN
    INSERT INTO `grocery`.`order_seqid` VALUE(NULL);
    SET NEW.order_id = CONCAT('#GNC', LPAD(LAST_INSERT_ID(),3,'0'));
END
//

Protože pokud to neuděláte, pak si MySQL myslí, že se pokoušíte ukončit definici spouštěče, když vidí, že jako první ; a volá chybu syntaxe.




  1. Základy spouštění PostgreSQL a uložených funkcí

  2. podporuje adaptér rails postgres ssl?

  3. 2 způsoby, jak získat krátký název měsíce z data v MariaDB

  4. SQL Server VYBERTE POSLEDNÍ N řádků