用以下的 SQL 來建立新的 function:
CREATE FUNCTION myfunc(IN str TEXT) RETURNS TEXT RETURN '123';
執行以後會出現錯誤訊息:
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 'IN str TEXT) returns TEXT return '123'' at line 1
將 function parameter 中的 IN
刪除以後就不會再出現錯誤訊息。
問題是按照 MySQL 官方文件中 create function statements 中的說明,IN
參數是 optional 的,可加可不加,但實際執行時加上 IN
就會出現上面的錯誤。
所以問題來了,是 MySQL 沒有按照文件中的規範實作?還是文件並沒有跟著 MySQL 的實作更新?