![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: phpMyAdmin
[MySQL] Create function geht nicht (mehr) --> Gelöst
Hi!
Ich würde gerne folgende function in die DB hauen:
SQL-Code:
DAs muss auch so oder so ähnlich funktioniert haben, das oben stammt nämlich direkt aus einer DB, wo die Funktion drin ist (SHOW CREATE FUNCTION ...)
CREATE FUNCTION `nextGID`(seqname CHAR(20)) RETURNS int(10) unsigned
BEGIN INSERT INTO global_seq VALUES (seqname,LAST_INSERT_ID(1)) ON DUPLICATE KEY UPDATE val=LAST_INSERT_ID(val+1); RETURN LAST_INSERT_ID(); END Leider ist die einzige Antwort: #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 '' at line 4 Zeile 4 nach seiner Interpreation ist scheinbar VALUES ( Wo ist der Fehler? Liebe Grüße, Frederic |
AW: [MySQL] Create function geht nicht (mehr)
Müsste es nicht
SQL-Code:
heißen? Ich müsste aber einmal nachschauen, ob MySQL sich da evtl. anders verhält.
INSERT INTO global_seq(Feld1,Feld2) --Felder explizit benennen
VALUES (seqname,LAST_INSERT_ID(1)) |
AW: [MySQL] Create function geht nicht (mehr)
Heisst die Spalte genauso wie der Parameter?
|
AW: [MySQL] Create function geht nicht (mehr)
Hi,
normal geht es auch ohne Feldangaben, wenn es alle sind, ändert aber leider auch nix. Und es ist nicht der selbe Name - mit Feldnamen sieht es so aus:
SQL-Code:
Das Ergebnis ist leider das gleiche...CREATE FUNCTION `nextGID`(seqname CHAR(20)) RETURNS int(10) unsigned BEGIN INSERT INTO global_seq(name,val) VALUES (seqname,LAST_INSERT_ID(1)) ON DUPLICATE KEY UPDATE val=LAST_INSERT_ID(val+1); RETURN LAST_INSERT_ID(); END EDIT: Der DELIMITER wars schuld. Daher musste erstmal ne neue phpMyAdmin-Version her, die die Eingabe des selben ermöglicht... Liebe Grüße, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz