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

Spouštěč Mysql pro aktualizaci vloženého řádku

Podle komentářů :)

Vyžadujete BEFORE INSERT spoušť. V tomto spouštěči změníte záznam předtím, než dosáhne trvalého úložiště. Pomocí vašeho příkladu by byl tento spouštěč definován takto:

DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
   SET NEW.lang='hu';
END$$
DELIMITER ;

Důvod, proč nemůžete použít UPDATE ve stejné tabulce, na kterou odkazuje trigger, je proto, že by to mohlo (a mohlo by) způsobit nekonečnou smyčku.

Poznámka:Netestoval jsem to, ale soudě podle vašich komentářů se zdá, že to funguje. Hodně štěstí!



  1. SQL Server 2005 Jak vytvořit jedinečné omezení?

  2. Jak zjistím, kdy je můj kontejner mysql ukotvený a mysql připraven k přijímání dotazů?

  3. Rozsah SQL Integer při vytváření tabulek

  4. Oprava „ERROR 1054 (42S22):Neznámý sloupec „colname“ v „klauzuli objednávky“ v MariaDB