|
|
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Есть таблица: Код: sql 1. 2. 3. 4. 5. 6. Как должен выглядеть триггер, чтобы при вставке новой записи, в поле SORT_BY был скопирован новый уникальный TRK_ID. Триггер AFTER выдает: Updating of NEW row is not allowed in after trigger. Триггер BEFORE: еще не имеет информации о новом ключе (TRK_ID). Подскажите, как это можно реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 01:45:54 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Volk65, ну и стандартный вопрос - зачем вам дубль поля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 04:55:08 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Ну исходя из названия... Это значение поля будет меняться местами с предыдущей/следующей записью, и таким образом участвовать в действиях: переместить вверх/переместить вниз. Т.е. по этому полю будет производиться порядок вывода записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 07:58:24 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Volk65Ну исходя из названия... Это значение поля будет меняться местами с предыдущей/следующей записью, и таким образом участвовать в действиях: переместить вверх/переместить вниз. Т.е. по этому полю будет производиться порядок вывода записей. надо учить матчасть. это поле для других целей. если тебе надо произвольный порядок вывода(сортировки) заведи своё поле - в нём и устанавливай порядок отображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:32:23 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
вадя, ну какбэ ТС и завёл такое поле. Трудность только в записи туда "нужных" значений". Как обходной путь можно предложить, например, создать служебную таблицу с одним АИ полем, в бефоре инсерт триггере туда добавлять запись и выставлять сорт_бай=ласт_инсерт_ид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:42:19 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Так я и завел другое поле. Надо не учить матчасть, а внимательно смотреть первый пост. Я повторю вопрос. Как в триггере на INSERT переписать новое значение из поля TRK_ID (которое автоикремент) в поле SORT_BY ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:44:25 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Volk65, никак. По причинам, озвученным вами же в первом посте. Можно записать туда что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:48:43 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
tanglirвадя, ну какбэ ТС и завёл такое поле. Трудность только в записи туда "нужных" значений". Как обходной путь можно предложить, например, создать служебную таблицу с одним АИ полем, в бефоре инсерт триггере туда добавлять запись и выставлять сорт_бай=ласт_инсерт_ид. Ну да. Идея понятна. Через стороннюю таблицу. Скорее всего так и сделаю. Немного кривовато, конечно, но если нет другого способа... Просто подумал, что можно по-простому: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:49:43 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Volk65но если нет другого способану, сиквенсов в мускле нет, только вот так эмулировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:52:31 |
|
||
|
Как получить значение поля AutoIncrement в триггере?
|
|||
|---|---|---|---|
|
#18+
Можно сортировать так: Код: sql 1. Правда, так не получится использовать для сортировки индекс. Но по моей практике это и так почти никогда не получается в более-менее сложных запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 10:03:53 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38800240&tid=1833960]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 404ms |

| 0 / 0 |
