PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   UPDATE funktioniert nicht!! (http://www.selfphp.de/forum/showthread.php?t=19505)

Haudenlukas 03.06.2008 12:17:59

UPDATE funktioniert nicht!!
 
Hallo Leute,
ich kann mir nicht erklären warum mein UPDATE Befehl nicht funktioniert. Hab folgendes versucht:

delimiter //
CREATE TRIGGER Item_serial AFTER INSERT ON serial_numbers
FOR EACH ROW
BEGIN
UPDATE items as i
INNER JOIN serial_numbers as s
on i.Artikelnummer1 = s.item_number_id
SET i.serial_number_id = s.id
END; //
delimiter;

es geht also - wie ihr seht - um die zwei Tabellen serial_numbers und items....

auch folgendes hat nicht funktioniert:

delimiter //
CREATE TRIGGER Item_serial AFTER INSERT ON serial_numbers
FOR EACH ROW
BEGIN
UPDATE from items set items.serial_number_id = serial_numbers.id where items.Artikelnummer1 = serial_numbers.item_number_id;
END; //
delimiter;

Ich verstehe das einfach nicht. Arbeite jetzt schon länger mit MySQL, aber sowas ist mir noch nie passiert.... ich bekomme es einfach nicht hin.
Die Fehlermeldung die kommt ist folgende:

SQL Error: 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 'UPDATE items as i INNER JOIN serial_numbers as s o */

Ich habe es auch schon mit und ohne delimiter probiert, sowie ich auch den UPDATE Befehl ohne Trigger versucht habe.. nix, geht nix und ich verwende MySQL in der Version 5.0.22

bitte um eure Hilfe

vielen dank im Vorraus

Haudenlukas

feuervogel 03.06.2008 13:01:56

AW: UPDATE funktioniert nicht!!
 
liegt es vielleicht daran, dass du einen trigger für eine tabelle definierst, die du dann verändern willst, so dass es möglich wäre, in eine endlosschleife zu geraten? habe mal so was gelesen glaube ich.

Haudenlukas 04.06.2008 10:10:21

AW: UPDATE funktioniert nicht!!
 
Ok, ich habe den Fehler gefunden.

delimiter //
CREATE TRIGGER Item_serial AFTER INSERT ON serial_numbers
FOR EACH ROW
BEGIN
UPDATE from items set items.serial_number_id = NEW.id where items.Artikelnummer1 = NEW.item_number_id;
END; //
delimiter;

banaler SQL-Syntax Fehler, das from gehört natürlich weg. Gestern jedoch stand ich wohl etwas auf dem schlauch. Ach ja und es ist auch richtig was feuervogel sagt, dass es eventuell eine endlosschleife mit dem "Inner JOIN - Update" sein könnte.

Ok, dann trotzdem vielen Dank


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:50:53 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.