Erstellen Insert mit Mysql-Trigger
Ich bin versucht, zu erstellen eine einfache insert-trigger aus der Tabelle Products zu ProductPrice Tabelle, die sql-schlägt ohne Fehlermeldung fehl:
CREATE TRIGGER productTrigger AFTER INSERT ON Products
FOR EACH ROW
BEGIN
INSERT INTO ProductPriceHistory (CURRENT_DATE(), CURRENT_USER(), productCode, productName, productLine, productVendor, quantityInStock, buyPrice)
VALUES (productCode, productName, productLine, productVendor, quantityInStock, buyPrice);
END
Du musst angemeldet sein, um einen Kommentar abzugeben.
Referenz-Werte aus der neu eingefügten Zeile, verwenden Sie das NEUE Schlüsselwort ein, und verwenden Sie die Funktion nennt als Werte, nicht als Spaltennamen;
AFTER INSERT
mitAFTER UPDATE
und Sie sollten bekommen, dass die Wirkung. Afaik gibt es keine Abkürzung, um die gleichen trigger für beide Veranstaltungen mit Ausnahme definieren es zweimal.Versuchen Sie, Ihre Funktion Anrufe in die
VALUES
:Ich habe die
date_column_name
unduser_column_name
Namen, Sie werden zu liefern haben, die echten. Die eingeklammerten Liste der folgt der name der Tabelle enthalten sollte, Spaltennamen, nicht Spalte Werte. Und Sie müssen, um das Präfix der Spalte Namen inVALUES
mitnew.
zu sagen, MySQL diese zu extrahieren aus der neu eingefügten Zeile (das heißtnew
in einem trigger).