2014-03-13 57 views
0

我正在嘗試使用Mysql版本5.6.11創建存儲過程,但它顯示出一些錯誤,這裏是我的代碼 。Mysql版本5.6.11中的存儲過程

CREATE PROCEDURE Debug(Message TEXT) 
    BEGIN 
    CREATE TABLE IF NOT EXISTS _debug (
     id int(10) unsigned NOT NULL auto_increment, 
     msg TEXT DEFAULT NULL, 
     created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
     PRIMARY KEY (id) 
    ); 
INSERT INTO _debug(`msg`) VALUES(Message); 
END; 

我收到此錯誤:

#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 8

+0

你用什麼客戶來創建它?對於一些(特別是mysql命令行客戶端),您必須設置'DELIMITER'請參閱http://stackoverflow.com/questions/10259504/delimiters-in-mysql –

+0

您在'END'後面使用';'的事實表明分隔符未被正確處理... –

+0

我正在使用php myadmin。並在下面的答案給出這個錯誤'#1064 - 你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以獲得在'delmiter $$'附近使用的正確語法'CREATE PROCEDURE Debug(Message TEXT)'在第一行'BEGIN CREATE TABLE I' – Sanjay

回答

0

取出;

delmiter $$ 
CREATE PROCEDURE Debug(Message TEXT) 
    BEGIN 
    CREATE TABLE IF NOT EXISTS _debug (
     id int(10) unsigned NOT NULL auto_increment, 
     msg TEXT DEFAULT NULL, 
     created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
     PRIMARY KEY (id)) 
INSERT INTO _debug(`msg`) VALUES(Message) 
END$$