powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка при создании триггера
24 сообщений из 24, страница 1 из 1
Ошибка при создании триггера
    #39000630
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Нечаянно удалил из базы все триггеры на одну таблицу, DDL у меня есть,но при компиляции получаю ошибку.
Триггер:
Код: sql
1.
2.
3.
4.
5.
CREATE DEFINER = 'ukm_server'@'localhost' TRIGGER `local_auth_account_after_upd_tr` AFTER UPDATE ON `local_auth_account`
  FOR EACH ROW
BEGIN
    call wbn_setnotify('account',2,CONCAT('<p>{accId:'',NEW.id,'',accName:'',IFNULL(NEW.name,''),'',credit:'',IFNULL(NEW.credit,''),'',params:'',IFNULL(NEW.params,''),'',closed:'',IFNULL(DATE_FORMAT(NEW.closed,'%d.%m.%Y'),''),''}</p>'),concat('account_',NEW.id));
END;



Ошибка:
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 '%m.%Y'),''),''}</p>'),concat('account_',NEW.id));
END' at line 4
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000639
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Собственно, подсветка синтаксиса уже должна дать вам ответ.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000642
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,а можете подсказать,не силен в sql MySQL. Это DDL из копии базы
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000646
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кавычки считай! можно даже на пальцах...
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000647
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarможете подсказатьМогу - красным цветом выделены строковые литералы. Посмотрите что в них попало и что не попало.
Большое подозрение вызывают пары кавычек. Похоже, что кавычки должны быть по одной штуке.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000652
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,хм. А то что это из базы взято? Я думал если в DDL базы есть создание чего либо - оно будет создано,т.к. компиляция уже была как минимум раз выполнена.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000662
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarА то что это из базы взято?Значит было "взято" неправильно.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000668
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,копировал и выгружал из EMS, там есть функционал по выгрузке DDL отдельных элементов.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000672
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarmiksoft,копировал и выгружал из EMS, там есть функционал по выгрузке DDL отдельных элементов.Возможно, в нем было что-то неправильно настроено. Тут не подскажу, не пользовался.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000699
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,хм. А вы как DDL отдельных триггеров получаете?
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000711
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarmiksoft,хм. А вы как DDL отдельных триггеров получаете?
http://dev.mysql.com/doc/refman/5.6/en/show-create-trigger.html
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000729
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarmiksoft,хм. А вы как DDL отдельных триггеров получаете?А я их вообще не получаю.
У нас все такого рода вещи хранятся в SQL-скриптах с командами CREATE. В этих файлах смотрю, правлю, выполняю. Конечно, в сторонке есть резервные копии этих файлов.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000736
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо,консоль меня спасла:)
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000754
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
CREATE DEFINER=`ukm_server`@`localhost` TRIGGER `local_auth_account_after_upd_tr` AFTER UPDATE ON `local_auth_account` FOR EACH ROW BEGIN
    call wbn_setnotify('account',2,CONCAT('<p>{accId:''',NEW.id,''',accName:''',IFNULL(NEW.name,''),''',credit:''',IFNULL(NEW.credit,''),''',params:''',IFNULL(NEW.params,''),''',closed:''',IFNULL(DATE_FORMAT(NEW.closed,'%d.%m.%Y'),''),'''}</p>'),concat('account_',NEW.id));
END
 
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000756
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Явный косяк парсера EMS
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000763
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
Код: sql
1.
2.
3.
4.
CREATE DEFINER=`ukm_server`@`localhost` TRIGGER `local_auth_account_after_upd_tr` AFTER UPDATE ON `local_auth_account` FOR EACH ROW BEGIN
    call wbn_setnotify('account',2,CONCAT('<p>{accId:''',NEW.id,''',accName:''',IFNULL(NEW.name,''),''',credit:''',IFNULL(NEW.credit,''),''',params:''',IFNULL(NEW.params,''),''',closed:''',IFNULL(DATE_FORMAT(NEW.closed,'%d.%m.%Y'),''),'''}</p>'),concat('account_',NEW.id));
END
 

Так тоже неверно, хотя и работоспособно, наверное.
Вместо тройных символов кавычек нужны одиночные.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000765
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЯвный косяк парсера EMSТаки посмотрите в его настройки. Возможно, там есть способ задать метод экранирования кавычек.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000770
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftТак тоже неверно, хотя и работоспособно, наверное.
Вместо тройных символов кавычек нужны одиночные.
Это из консоли mysql
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39000786
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarmiksoftТак тоже неверно, хотя и работоспособно, наверное.
Вместо тройных символов кавычек нужны одиночные.
Это из консоли mysqlНу тогда я затрудняюсь объяснить затраивание кавычек. Возможно, оно было внесено еще на этапе создания триггеров.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39001437
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНу тогда я затрудняюсь объяснить затраивание кавычек.
Ну просто он значения ID и прочего оборачивает в кавычки при сборке строки.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39001856
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmiksoftНу тогда я затрудняюсь объяснить затраивание кавычек.
Ну просто он значения ID и прочего оборачивает в кавычки при сборке строки.Не вижу этого в продемонстрированном тексте.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39002358
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНе вижу этого в продемонстрированном тексте.
Код: sql
1.
CONCAT('<p>{accId:''',NEW.id,''',accName:''',IFNULL(NEW.name,''),''',credit:''',IFNULL(NEW.credit,''),''',params:''',IFNULL(NEW.params,''),''',closed:''',IFNULL(DATE_FORMAT(NEW.closed,'%d.%m.%Y'),''),'''}</p>')


Это - один вызов одной функции, которая в результате выдаст что-то такое:
Код: xml
1.
<p>{accId:'111',accName:'ффф',credit:'ыыы',params:'ввв',closed:'1.5.2015'}</p>
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39002379
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmiksoftНе вижу этого в продемонстрированном тексте.
Код: sql
1.
CONCAT('<p>{accId:''',NEW.id,''',accName:''',IFNULL(NEW.name,''),''',credit:''',IFNULL(NEW.credit,''),''',params:''',IFNULL(NEW.params,''),''',closed:''',IFNULL(DATE_FORMAT(NEW.closed,'%d.%m.%Y'),''),'''}</p>')



Это - один вызов одной функции, которая в результате выдаст что-то такое:
Код: xml
1.
<p>{accId:'111',accName:'ффф',credit:'ыыы',params:'ввв',closed:'1.5.2015'}</p>

Это понятно. Только в этом я не вижу где "значения ID и прочего оборачивает в кавычки".
Я вижу только, что некоторые кавычки затроились, а некоторые нет, без никакой логики.
...
Рейтинг: 0 / 0
Ошибка при создании триггера
    #39003016
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, оборачивайте конкатенируемые значения двойными кавычками, а внутри лепите столько одинарных, сколько надо. Без лишних повторений.
Код: sql
1.
select concat("'preved',medved","'''","cccc''c'''''c'c'cc'")

Код: plaintext
'preved',medved'''cccc''c'''''c'c'cc'
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка при создании триггера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]