|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
Добрый день. Есть две таблицы. Код: sql 1. 2. 3. 4. 5.
При попытке UPDATE поля val в таблице t1 пишет: ОШИБКА: INSERT или UPDATE в таблице "t1" нарушает ограничение внешнего ключа "t2_fk" Как сделать UPDATE поля val в таблице t1 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 18:56 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
проапдэйтить сразу обе таблицы тоже не получается - ни один update не проходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 18:57 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
sstatistic Код: sql 1.
При попытке UPDATE поля val в таблице t1 пишет: ОШИБКА: INSERT или UPDATE в таблице "t1" нарушает ограничение внешнего ключа "t2_fk" Как сделать UPDATE поля val в таблице t1 ? Надо было создавать t2_fk с ON UPDATE CASCADE. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 19:35 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
sstatistic, Первичніьй ключ в хорошо спроектированньіх схемах не принято обновлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 20:46 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
пересоздайте FK как deferrable Код: sql 1.
Затем Код: sql 1. 2.
И до коммита вы сможете временно нарушать целостность FK. Потому что проверка ссылок будет отложена до момента перед коммитом. Либо сделайте insert нужной строки в t1 в том виде, в котором она должна быть после update, затем обновите t1 - новое значение для ключа уже будет и fk согласится жить, затем удалите старую версию строки. Такой update вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 21:01 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
vslsstatistic Код: sql 1.
При попытке UPDATE поля val в таблице t1 пишет: ОШИБКА: INSERT или UPDATE в таблице "t1" нарушает ограничение внешнего ключа "t2_fk" Как сделать UPDATE поля val в таблице t1 ? Надо было создавать t2_fk с ON UPDATE CASCADE. Спасибо. Тоже думал над таким вариантом. Оставлю его на крайний случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 11:54 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
Melkijпересоздайте FK как deferrable Код: sql 1.
Затем Код: sql 1. 2.
И до коммита вы сможете временно нарушать целостность FK. Потому что проверка ссылок будет отложена до момента перед коммитом. Либо сделайте insert нужной строки в t1 в том виде, в котором она должна быть после update, затем обновите t1 - новое значение для ключа уже будет и fk согласится жить, затем удалите старую версию строки. Такой update вручную. Благодарю за ответ. Вариант интересный, сейчас его протестирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 11:55 |
|
нужен хитрый апдэйт на две таблицы
|
|||
---|---|---|---|
#18+
sstatistic, т.е. если у Вас есть: Код: sql 1. 2. 3. 4. 5. 6. 7.
Почему бы просто не сделать так: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 05:16 |
|
|
start [/forum/topic.php?fid=53&msg=39760528&tid=1995400]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 421ms |
0 / 0 |