這是我的存儲過程:SQL存儲過程中,變量爲空
CREATE PROCEDURE `insert_exercise` (nazev VARCHAR(45), URL VARCHAR(255), obtiznost INT, partie INT)
BEGIN
DECLARE video_id INT;
DECLARE cvik_id INT;
INSERT INTO `odkaz_video` (URL) VALUES (@URL);
SELECT id INTO video_id FROM `odkaz_video` WHERE URL = @URL;
INSERT INTO `cvik` (nazev, odkaz_video, obtiznost_id) VALUES (@nazev, video_id, @obtiznost);
SELECT id INTO cvik_id FROM `cvik` WHERE nazev = @nazev;
INSERT INTO `cvik_partie` (partie_id, cvik_id) VALUES (@partie, cvik_id);
END
當我把這叫做SP,我得到錯誤1048列「網址」不能爲空。即使我輸入了所有參數,爲什麼這個變量(@URL)爲空?
感謝您的迴應
您也可能會發現這個答案有幫助:http://stackoverflow.com/questions/1009954/mysql-variable-vs-variable-whats-the-difference – zedfoxus
能否請您包括您用來調用存儲過程的確切語句以及所涉及表的完整表定義?這可能是問題出現在調用語句或表定義中的關鍵約束的結果中。 – Gerf