2016-04-07 7 views
0

Ich habe eine Tabelle mit dem Namen Bestellung und wenn eine Bestellung eingefügt wird ich möchte es die VerkäuferID (Benutzer-ID in den Benachrichtigungen) und ProductName kombiniert mit einer Nachricht an in Notification.Message gespeichert werden.MYSQL Auslöser wenn eine Bestellung eingegeben wird eine Benachrichtigung in eine andere Tabelle eingefügt

CREATE TABLE `Order` (
`OrderID` int(11) NOT NULL AUTO_INCREMENT, 
`productID` int(11) NOT NULL, 
`productName` varchar(255) DEFAULT NULL, 
`productPrice` int(11) DEFAULT NULL, 
`SellerID` int(11) DEFAULT NULL, 
`BuyerID` int(11) DEFAULT NULL, 
`DateSold` varchar(45) DEFAULT NULL, 
PRIMARY KEY (`OrderID`), 

); 


CREATE TABLE `Notifications` (
`NotificationID` int(11) NOT NULL AUTO_INCREMENT, 
`userID` int(10) NOT NULL, 
`Message` varchar(255) DEFAULT NULL, 
`Viewed` varchar(255) DEFAULT NULL, 
PRIMARY KEY (`NotificationID`); 

Sie sind meine beiden Tabellen Das ist, was ich versucht:

DELIMITER $$ 

CREATE TRIGGER productTrigger 
AFTER INSERT 
ON Order FOR EACH ROW 

BEGIN 
DECLARE ui,pn VARCHAR(50); 

SELECT productName INTO pn FROM Order; 
SELECT userID INTO ui FROM Product; 
INSERT INTO Notifications(userID,Message) VALUES(ui,pn); 

end $$ 

DELIMITER ; 

Antwort

1

Versuchen:

DELIMITER $$ 

CREATE TRIGGER `productTrigger` AFTER INSERT ON `Order` 
FOR EACH ROW 
BEGIN 
    /*DECLARE ui,pn VARCHAR(50); 

    SELECT productName INTO pn FROM Order; 
    SELECT userID INTO ui FROM Product; 
    INSERT INTO Notifications(userID,Message) VALUES(ui,pn);*/ 

    INSERT INTO `Notifications` 
    (`userID`, `Message`) 
    VALUES 
    (NEW.`SellerID`, NEW.`productName`); 
END$$ 

DELIMITER ; 
Verwandte Themen