Ошибка MySQL: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом
145883 просмотра
4 ответа
У меня есть хранимая процедура, как это:
CREATE PROCEDURE ProG()
BEGIN
SELECT * FROM `hs_hr_employee_leave_quota`;
END
Но это дает ошибку:
#1064
- у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' в строке 3
Что означает ошибка? Что не так со строкой № 2?
Автор: Gnanendra Источник Размещён: 13.11.2019 11:35Ответы (4)
54 плюса
Вы должны изменить разделитель перед использованием триггеров, хранимых процедур и так далее.
delimiter //
create procedure ProG()
begin
SELECT * FROM hs_hr_employee_leave_quota;
end;//
delimiter ;
Автор: Nicola Cossu
Размещён: 18.04.2011 01:16
13 плюса
Как узнать, что пытается сказать эта ошибка MySQL:
#1064 - You have an error in your SQL syntax;
Эта ошибка не имеет никаких подсказок. Вы должны дважды проверить все эти пункты, чтобы увидеть, где ваша ошибка:
- Вы пропустили или включили ненужный символ:
!@#$%^&*()-_=+[]{}\|;:'",<>/?
- Неуместные, отсутствует или ненужное ключевое слово:
select
,into
или многие другие. - В вашем запросе есть символы юникода, которые выглядят как символы ascii, но не распознаются.
- Смещенные, отсутствующие или ненужные пробелы или переводы строк между ключевыми словами.
- Несовпадающие одинарные кавычки, двойные кавычки, скобки или фигурные скобки.
Уберите как можно больше из разбитого запроса, пока он не начнет работать. А затем в следующий раз используйте PostgreSQL, в котором есть система отчетов о синтаксисе.
Автор: Eric Leschinski Размещён: 11.01.2014 06:336 плюса
Разделители, разделители ...
Они действительно вам нужны, когда в вашей процедуре несколько утверждений. (другими словами, есть ли ;
у вас в коде, а затем еще несколько операторов / команд? Затем необходимо использовать разделители).
Для такой простой процедуры, как ваша, вы можете просто:
CREATE PROCEDURE ProG()
SELECT * FROM `hs_hr_employee_leave_quota`;
Автор: ypercubeᵀᴹ
Размещён: 18.04.2011 01:55
0 плюса
Это может быть проблема с памятью в MySQL попытаться увеличить max_allowed_packet в my.ini
Автор: sherin.k Размещён: 15.06.2017 06:54Вопросы из категории :
- mysql Двоичные данные в MySQL
- mysql Насколько большой может быть база данных MySQL до того, как производительность начнет снижаться
- mysql Выбрать все столбцы, кроме одного в MySQL?
- mysql MySQL или PDO - каковы плюсы и минусы?
- mysql Как выбрать n-ую строку в таблице базы данных SQL?
- mysql MyISAM против InnoDB
- mysql Обмен значениями столбца в MySQL
- mysql Есть ли способ увидеть ход выполнения инструкции ALTER TABLE в MySQL?
- mysql MySQL Error 1093 - Can't specify target table for update in FROM clause
- mysql Как я могу предотвратить SQL-инъекцию в PHP?
- mysql-error-1064 Как бороться с апострофом при записи в базу данных Mysql
- mysql-error-1064 Ошибка MySQL: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом
- mysql-error-1064 mysql не распознается как внутренняя или внешняя команда, операционная программа или пакет
- mysql-error-1064 Как изменить тип столбца с varchar (30) на varcahar (100)?
- mysql-error-1064 ОШИБКА 1064 (42000) в MySQL
- mysql-error-1064 Mysql Не удается создать / записать в файл ошибку # 13
- mysql-error-1064 Проверьте соединение с базой данных, в противном случае выведите сообщение
- mysql-error-1064 apache mysql - "пакеты вышли из строя" на 3306
- mysql-error-1064 Синтаксическая ошибка рядом с "ORDER BY order DESC" в MySQL?
- mysql-error-1064 Как получить описание ошибки синтаксиса в MySQL