powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / С какой версии нормально работает ON DELETE SET NULL
8 сообщений из 8, страница 1 из 1
С какой версии нормально работает ON DELETE SET NULL
    #32909792
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С какой версии нормально работает ON DELETE SET NULL ??? на ф-кеях?

У меня на 7.3.4. не выставляет в NULL в связанной таблице. Хотя удалять и дает. Нечто триггер дополнительно писать BEFORE DELETE?





PS:
какой дегенеративной голове понадобилось вот это:
Информация Информация

Извините, добавление сообщений в форум с вашего IP адреса, заблокированно для незарегистрированных пользователей. Если это единственный IP адрес, с которого можете вы обратиться к нашему сайту, свяжитесь с администрацией sql.ru

Через несколько секунд вы будете возвращены в форум. Если этого не произойдет, воспользуйтесь этой ссылкой
задолбали, сбоями и т.п, блин
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32911713
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
--
test1=> CREATE TABLE films (
test1(>     code        char( 5 ) CONSTRAINT firstkey PRIMARY KEY,
test1(>     title       varchar( 40 ) NOT NULL,
test1(>     did         integer NOT NULL,
test1(>     date_prod   date,
test1(>     kind        varchar( 10 ),
test1(>     len         interval hour to minute
test1(> );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "firstkey" for ta
ble "films"
CREATE TABLE
--
test1=> CREATE TABLE actors (
test1(> acid char( 5 ),
test1(> acname varchar( 55 ),
test1(> age int,
test1(> actcomm text,
test1(> FOREIGN KEY (acid) REFERENCES films(code) ON DELETE SET NULL
test1(> );
CREATE TABLE
--
test1=> select * from films;
 code  |    title    | did | date_prod  | kind |   len
-------+-------------+-----+------------+------+----------
 r4ef  | Donna Karen |   34  |  20 / 05 / 2000  | nooo | @  2  mins
 dfd4  | Anakin      |   65  |  19 / 02 / 2000  | nooo | @  1  min
 76rf  | Hz Kto      |   32  |  19 / 08 / 1999  | buuu | @  2  mins
( 3  rows)
--
test1=> select * from films;
 code  |    title    | did | date_prod  | kind |   len
-------+-------------+-----+------------+------+----------
 r4ef  | Donna Karen |   34  |  20 / 05 / 2000  | nooo | @  2  mins
 dfd4  | Anakin      |   65  |  19 / 02 / 2000  | nooo | @  1  min
 76rf  | Hz Kto      |   32  |  19 / 08 / 1999  | buuu | @  2  mins
( 3  rows)
--
test1=> DELETE  from films where code='r4ef';
DELETE  1 
--
test1=> select * from actors;
 acid  |       acname        | age |   actcomm
-------+---------------------+-----+--------------
 dfd4  | Mega Killer         |   12  | some comment
 76rf  | Hot baby            |   27  | some comment
       | Super Puper Aktrisa |   28  | some comment
       test1=> select version();
                                         version

--------------------------------------------------------------------------------
----------
 PostgreSQL  8 . 0 . 0  on i686-pc-mingw32, compiled by GCC gcc.exe (GCC)  3 . 4 . 2  (mingw
-special)
( 1  row)
а у меня вроде работает
--
интересно у вас тут
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912480
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE public.project
(
  id serial NOT NULL,
  pid int4,
  name text, 
  CONSTRAINT project_pkey PRIMARY KEY (id),
  CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL
) --WITHOUT OIDS;


DELETE FROM project WHERE id= 1 ;
SELECT * FROM PROJECT WHERE id= 2 ;

id	pid	name
 2 	 1 	test

а ваш пример у меня работаит прально. И в модификации со самоссылкой по текстовому ключу - тоже. Погрешил на WITHOUT OIDS; Создал тест (в т.ч. - без прочей обвязки) - не работаит
Кажисть трабла в типе?

некудда кхрестьянину падаться
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912481
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правда я уж триггерок-то написал. А тестирую - из за вашего поста.
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912542
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assa
CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL


а тут случайно не FOREIGN KEY (pid) должно быть написано?
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912751
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sad Spirit assa
CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL


а тут случайно не FOREIGN KEY (pid) должно быть написано?
Спасиба, барин, выручил.
Слона та я и не приметил. Буду проверять мала-мала на работке. (сейчас не помню, так ли там написано. может и прально. А может и непрально.)

Пааааазор на мой трухлявый башка!
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912857
фыыф Буду проверять мала-мала на работке. (сейчас не помню, так ли там написано. может и прально. А может и непрально.)

Проверил. Было написано именно непрально. Тема видимо закрыта (проверял на 8-ке - дамп завалялся, а не на 7.3.4., т.к. дома сижу)


Надо правильно работать:
"поесть, поспать,
т.е. в смысле на занятья не ходить"

совсем расконцентрация замучала

Еще раз спасиб 2 SadSpirit.
...
Рейтинг: 0 / 0
С какой версии нормально работает ON DELETE SET NULL
    #32912973
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь ночью всё-таки спал , а не корпел над этой задачей. Интересно было проверить, как это происходит в 7.4.6
--
интересно у вас тут
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / С какой версии нормально работает ON DELETE SET NULL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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