Если я запускаю каждый блок этого скрипта в mysql-query-browser, он работает.
Если я запускаю его как mysql db < script.sql
, это дает мне ошибку [1], что в документации говорится, что она использует зарезервированные ключевые слова.
Уже пытался использовать; во всем мире.
-- table
CREATE TABLE `days` (
`day` date NOT NULL,
PRIMARY KEY (`day`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- proc
CREATE PROCEDURE db.filldays()
BEGIN
DECLARE v1 DATE DEFAULT '2039-01-01';
WHILE v1 > '2009-01-01' DO
INSERT days VALUES (v1);
SET v1 = DATE_SUB( v1, INTERVAL 1 DAY );
END WHILE;
END
-- call proc
call filldays();
-- clean
drop procedure filldays;
[1] ошибка:
ОШИБКА 1064 (42000) в строке 8: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' в строке 3