sql >> Database teknologi >  >> RDS >> Mysql

Udførelse af beregning i MySQL-standardværdi

Nej. Værdien for DEFAULT-udtrykket skal være en konstant. (Den eneste undtagelse fra denne regel er brugen af ​​CURRENT_TIMESTAMP som standardværdi for en TIMESTAMP kolonne.)

Som et alternativ kan du bruge en TRIGGER til at indstille en værdi for en kolonne, når en række indsættes eller opdateres.

Inden for en FØR INSERT FOR EACH ROW-udløser kan du f.eks. udføre beregninger fra værdier leveret for andre kolonner og/eller forespørge data fra andre tabeller.

REDIGER

For eksemplet givet i EDIT af spørgsmålet, et eksempel på et udgangspunkt for en triggerdefinition:

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. Sådan ændres værdier for Rediger Top X og vælg Top X Rows i SQL Server Management Studio(SSMS) - SQL Server / TSQL Tutorial Del 20

  2. Sådan konverteres dato i .csv-fil til SQL-format før masseindsættelse

  3. Indsæt i 2 tabeller med PDO MySQL

  4. hvordan tilføjer man brugerdefineret adapter til aktiviteten for at få listen til at blive vist i aktiviteten?