|
|
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Надо чтоб в новую таблицу table2 вставлялись значения после добавления записи в таблицу table1 тогда, когда поле field=0 или 1. Код: plaintext 1. 2. 3. Так ругается на синтак. ошибку. Пробовал и без условий: Код: plaintext 1. 2. 3. 4. Так тоже синтаксическая ошибка. Подскажите, пожалуйста, как правильно написать такой триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 15:09:20 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Делимитер не забыли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 15:34:56 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
нет, не забыл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 19:22:27 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Во-первых, почитайте справку по синтаксису INSERT INTO. Синтаксис Insert ... Set работает только со скалярными данными, а с табличными необходим Insert ... Select. Во-вторых, таблица NEW в триггере состоит ровно из одной записи. Зато триггер вызывается столько раз, сколько строк инсертится. В третьих, запрос (будь он верный, конечно) добавит во вторую таблицу столько строк, сколько добавлено в первую. А значение field влияет лишь на то, что будет добавлено в новую запись. Косяк логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 19:47:18 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Спасибо. Не могли бы вы привести корректный код для моего случая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 21:25:58 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Был наполовину неправ. AkinaСинтаксис Insert ... Set работает только со скалярными данными, а с табличными необходим Insert ... Select. [skipped] таблица NEW в триггере состоит ровно из одной записи. А ещё... одно поле единственной записи для MySQL - скаляр! одно из многих отступлений от стандарта, но оно делает возможным использования SET в именно этом случае. В общем, вероятно, будет что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 23:21:56 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Коллеги, помогите, пожалуйста, корректно написать триггер. Пробовал разными способами, но не получается. :/ У нас есть таблицы (схема прилагается): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Пишу триггер, который должен выполнять копирование новых данных из атрибута "ID_Group" таблицы "Tbl_Groups" в атрибут "Groups_ID_Group" таблицы "Subject_has_Groups". Код: sql 1. 2. 3. 4. Заполняю таблицу "Tbl_Groups" в надежде, что значение из атрибута "ID_Group" скопируется в "Groups_ID_Group" таблицы "Subject_has_Groups": Код: sql 1. Но вместо этого получаю ошибку, отсылающую к триггеру: Error Code: 1054. Unknown column 'NEW.Tbl_Subject_has_Groups.Groups_ID_Group' in 'field list'. Искал информацию в интернете и единственное, что нашёл - люди неправильно использовали кавычки и компилятор принимал значения, которые они хотят передать за имена полей. Но эта проблема к моей ситуации неприменима. Большая просьба помочь. Сам уже не знаю куда копать, сведующих в MySQL людей нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2014, 17:11:47 |
|
||
|
Триггер для копирования одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Разобрался. Извиняюсь за невнимательной чтение FAQ синтаксиса INSERT. CREATE TRIGGER FillSubjectHasGroupsFromGroups AFTER INSERT ON `Tbl_Groups` FOR EACH ROW INSERT `Tbl_Subject_has_Groups` (`Groups_ID_Group`) SELECT `ID_Group` FROM `Tbl_Groups`; SHOW TRIGGERS; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2014, 18:46:47 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=37369092&tid=1834813]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
106ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 422ms |

| 0 / 0 |
