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

Provádění výpočtu ve výchozí hodnotě MySQL

Ne. Hodnota pro klauzuli DEFAULT musí být konstanta. (Jedinou výjimkou z tohoto pravidla je použití CURRENT_TIMESTAMP jako výchozí hodnota pro TIMESTAMP sloupec.)

Alternativně můžete použít TRIGGER k nastavení hodnoty pro sloupec při vložení nebo aktualizaci řádku.

Například v rámci spouštěče BEFORE INSERT FOR EACH ROW můžete provádět výpočty z hodnot dodaných pro jiné sloupce a/nebo dotazovat data z jiných tabulek.

UPRAVIT

Pro příklad uvedený v ÚPRAVĚ otázky, příklad výchozího bodu pro definici spouštěče:

CREATE TRIGGER mytable_bi 
BEFORE INSERT ON mytable 
FOR EACH ROW
BEGIN
  SET NEW.percentage = (100.0 * NEW.marks) / NULLIF(NEW.total_marks,0);
END


  1. DBCA Create Database špatný REMOTE_LISTENER

  2. Chyba při připojování k databázi:(pomocí třídy org.gjt.mm.mysql.Driver)

  3. hromadná aktualizace seznamu hodnot ze seznamu id

  4. Jak vypustit sloupec s omezením v SQL Server