Ich arbeite mit Mysql 5.1.28-rc auf freebsd. Ich habe beschlossen, nur gespeicherte Prozeduren in MYSQL zu verwenden und ein Testverfahren erstellt wie folgt:MYSQL Stored Procedures Wenn Anweisung Problem
DELIMITER $$
DROP PROCEDURE IF EXISTS test $$
CREATE PROCEDURE test(IN test VARCHAR(22))
BEGIN
DECLARE count INT(11);
SET count = (SELECT COUNT(*) FROM Test WHERE test_column = test);
SELECT count;
IF count = 0 THEN
SET count = 1;
ELSE
SET count = 2;
ENDIF;
END $$
DELIMITER;
Dieses Verfahren funktioniert gut ohne IF-Anweisung in ihm, aber mit der if-Anweisung gibt es, ERROR 1064 (42000): 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 '; END'
Wie kann ich dieses Problem lösen? Wo ist das Problem?
heilige Kuh finden, wie kann ich vermisse, dass :) – systemsfault
ist es nahezu unmöglich Tippfehler in Ihrem eigenen Code zu erkennen, keine Sorge. Lassen Sie es für die Paarprogrammierung hören oder, wenn Sie das nicht können, SO ...: D –