2016-03-19 11 views
0

Ich habe gerade von Mssql zu MySQL verschoben und was ich jetzt mache, konvertiert alle meine Trigger in Mssql zu Mysql und ich finde difficulites. Ich bin das Einfügen eines Datensatzes in eine Tabelle namens pp_change und wenn das eine Tabelle profile genannt getan wird, sollte und schließlich die Aufzeichnung in einem Konvertieren von Mssql-Trigger in MySQL

DELIMITER $$ 

CREATE TRIGGER pic_pic AFTER INSERT ON pp_change 
FOR EACH ROW 
BEGIN  

BEGIN    
    UPDATE profile   
    SET profile_pix = pp_change.pic   
    FROM Inserted pp_change   
    WHERE profile.email = pp_change.email   

INSERT INTO photos (email,pic,wardrobe,upload_type,pic_view,up_user_id,country,time_group,fpage)        

SELECT (email,pic,wardrobe,upload_type,pic_view,user_id,country,time_group,fpage) 
from pp_change    

END$$ 
DELIMITER ; 
photo Tabelle einfügen aktualisiert werden, wenn ich mich um diesen Fehler ausführen erhalten

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Inserted pp_change 

Antwort

0

MySQL hat kein Konzept von inserted. Es verwendet die Variablen new, um die neuen Werte zu speichern. Also sollten Sie sie verwenden, und nicht die ursprüngliche Tabelle:

+0

ich bekomme diesen Fehler: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version entspricht, für die richtige Syntax in der Nähe von '' in Zeile 13 – neiza

+0

@ Netza. . . Nichts Offensichtliches springt als Problem mit der Syntax heraus. –

Verwandte Themen