私は5.1.39に私のMySQLサーバのアップグレードをしたし、今私は(以前に働いていた)SQLスクリプトを実行するとき - それは、エラーがスローされます。私は何度も構文をチェックしており、互換性のないコード部分を見つけることができませんでした。この問題の解決策を提案してください。のMySQL 5.1.39 SQL構文エラー
エラーメッセージ
Mysql::Error: 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 'CREATE FUNCTION clean_dymmy_table (dummy_name VARCHAR(255)) RETURNS V' at line 3:
SQLコード:区切り文字の一部を削除したが、私は後ろにいることを追加したときに、それが正常に動作する理由
/*DELIMITER //*/
DROP FUNCTION IF EXISTS clean_dymmy_table;
CREATE FUNCTION clean_dymmy_table (dummy_name VARCHAR(255)) RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE temp_val VARCHAR(255);
SET temp_val = dummy_name;
-- Test
SET temp_val = REPLACE(temp_val, 'Tmp ', '');
SET temp_val = REPLACE(temp_val, ' TmP', '');
SET temp_val = REPLACE(temp_val, 'TMP ', '');
SET temp_val = REPLACE(temp_val, ' TMP', '');
SET temp_val = REPLACE(temp_val, ' tmp', '');
RETURN dummy_name;
END/*//*/
エラーメッセージが、指定されたSQLコードと一致しません。 –
これには関係がありますか? http://bugs.mysql.com/bug.php?id=46429 – pinkgothic