Я написал PHP-скрипт миграции базы данных, который обрабатывает список файлов SQL и выполняет их содержимое. Это должно помочь автоматизировать проект setupd и обновления. Теперь я получаю ошибки, как это:Как создать хранимые процедуры MySQL из PHP?
mapCoursesToSport.sql: 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 'DELIMITER |
DROP PROCEDURE IF EXISTS mapCoursesToSport|
CREATE PROCEDURE mapCo' at line 1
я получаю ту же ошибку, когда я проезжал в скрипт файл с определением вида, который также использовал DELIMITER
с. Затем я нашел обходное решение только для удаления разделителей из файла SQL. И это сработало. Но теперь это не вариант, поскольку для хранимых процедур действительно нужны определения разделителей.
Итак, как я могу определить хранимые процедуры MySQL из PHP? (Или, может быть, как правило, Morre: Как это должно быть SDELIMITER
handeled?)
http://www.stackoverflow.com/a/5025730/2153758 Вы прокомментировали это, в приведенном ниже ответе указывается, что вы должны передавать каждую переменную один за другим в 'mysql (i) _query' вместо использования запятых. – bwoebi
Спасибо за подсказку, но это не работает для меня. Мне нужны разделители в моих хранимых процедурах. Поэтому я не могу просто удалить их из кода. Если я это сделаю, процедуры не будут созданы. – automatix
Вам не нужны разделители? Точки с запятой должны проходить как есть ... и не заканчивать ваш запрос одним разделителем – bwoebi