powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как создать триггер?
6 сообщений из 6, страница 1 из 1
Как создать триггер?
    #39283495
alfakuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал текстовую таблицу 3 колонки id | one | tw
Хочу что бы при обновлении one старое значение из one сначала записалось в tw а потом уже one можно обновить новым.
Я понял что мне нужна конструкция:
Код: sql
1.
2.
3.
4.
5.
CREATE TRIGGER `test_table` BEFORE UPDATE ON `table`.`one`
FOR EACH ROW
BEGIN
// ???
END


Но что конкретно писать в середине я не очень понимаю...
...
Рейтинг: 0 / 0
Как создать триггер?
    #39283501
alfakuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD попробовал так:
Код: sql
1.
2.
3.
4.
5.
CREATE TRIGGER `test_placeh` BEFORE UPDATE ON `placeh`.`one`
FOR EACH ROW
BEGIN
	UPDATE `placeh` SET `tw` = OLD.`one`;
END


Ошибка: #1064 - 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 '' at line 4
...
Рейтинг: 0 / 0
Как создать триггер?
    #39283547
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alfakukчто конкретно писать в середине я не очень понимаю...
Код: sql
1.
NEW.two=OLD.one
...
Рейтинг: 0 / 0
Как создать триггер?
    #39284068
alfakuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
CREATE TRIGGER `test_placeh` BEFORE UPDATE ON `placeh`.`one`
FOR EACH ROW
BEGIN
NEW.tw=OLD.one;
END


#1064 - 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 '.tw=OLD.one' at line 4
...
Рейтинг: 0 / 0
Как создать триггер?
    #39284813
alfakuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если эту тему ещё кто-то смотрит, то я так и не смог решить проблему, поэтому если кто-то знает как сделать или хороший туториал по триггерам - буду рад.
...
Рейтинг: 0 / 0
Как создать триггер?
    #39284951
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alfakuk,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table placeh (
   id int not null auto_increment primary key
  , one int
  , tw int
);

create trigger bu_placeh before update on placeh /* table name, NOT column name! */
for each row
set NEW.tw = OLD.one; /* for one-statement trigger body BEGIN END not needed */

insert into placeh(id, one, tw) 
values(1,11,210),(2,12,220),(3,13,230);


Код: sql
1.
2.
3.
4.
5.
6.
select * from placeh;
| id | one | tw  |
|----|-----|-----|
|  1 |  11 | 210 |
|  2 |  12 | 220 |
|  3 |  13 | 230 |


Код: sql
1.
2.
3.
4.
5.
6.
7.
update placeh set one = one * 2 where id > 1;
select * from placeh;
| id | one |  tw |
|----|-----|-----|
|  1 |  11 | 210 |
|  2 |  24 |  12 |
|  3 |  26 |  13 |
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как создать триггер?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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