|
|
|
forein key с кляузой on update set null: обломы, которых вроде как не должно быть
|
|||
|---|---|---|---|
|
#18+
hi all Как-то странновато выглядит: 1) облом при on update set null, когда в соотв. поле мастер-таблицы вводится null-значение (да и не null тоже); 2) запрет установки FK на таблицу, если он ссылается строго на один столб, на который навешено UNIQUE-constraint, но допустимость этого же д-вия для двух столбов. Вот пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. И в то же время, когда ссылка идёт на один столбец, являющийся PK, - всё пучком: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. А вот если ссылочный столб является UNIQUE (НЕ PK), то снова облом, но уже другой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 22:51:04 |
|
||
|
forein key с кляузой on update set null: обломы, которых вроде как не должно быть
|
|||
|---|---|---|---|
|
#18+
ТаблоидА вот если ссылочный столб является UNIQUE (НЕ PK), то снова облом, но уже другойпардон, этот вопрос - бред. Нечитатель self-detected. Надо вот так: recreate table td3(id int primary key, pid int references tm3 (id) on update set null on delete cascade); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 22:55:03 |
|
||
|
forein key с кляузой on update set null: обломы, которых вроде как не должно быть
|
|||
|---|---|---|---|
|
#18+
Таблоид, и как ты только до таких извращений додумался... ТаблоидА вот если ссылочный столб является UNIQUE (НЕ PK), то снова облом, но уже другой: SQL> recreate table tm3(id int unique); SQL> recreate table td3(id int primary key, pid int references tm3 on update set null on delete cascade); А если сделать вот так Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 23:02:18 |
|
||
|
forein key с кляузой on update set null: обломы, которых вроде как не должно быть
|
|||
|---|---|---|---|
|
#18+
Симонов Дениси как ты только до таких извращений додумался...Да вспомнилось тут, на сон грядущий, что ломал вроде FK, только это было в каком-то раннем 2.5. Но не могу найти ни у себя, ни тут. Вот и решил поиздевацца немного над трёшкой - вдруг да получится по-быстрому, "на халяву" проскочить :-) Симонов ДенисА если сделать вот такне, тоже облом. там обязательно надо имя столба указать, если это не ПК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 23:07:20 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1563938]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 191ms |
| total: | 489ms |

| 0 / 0 |
