172 похожих чатов

Привет. Есть таблички: create table "user" ( id

serial not null constraint account_pkey primary key,
email text not null,
password text not null,
);

create table user_role (
user_id integer not null constraint account_role_account_id_fkey references "user",
role_id integer not null,
created_at timestamp(0) default timezone('UTC'::text, now()) not null,
constraint account_role_pkey primary key (user_id, role_id)
);

Хочу удалить юзера. Делаю так:

DELETE FROM "user" CASCADE;

Получаю

update or delete on table "user" violates foreign key constraint "account_role_account_id_fkey" on table "user_role"

В чём причина?

6 ответов

6 просмотров

TRUNCATE some_table CASCADE

Chern Oleksander
TRUNCATE some_table CASCADE

Надеюсь, он это в проде не попробует

Егор- Автор вопроса
Dmitriy Sviridov
Надеюсь, он это в проде не попробует

Это для тестов. Но, опять же, может быть нужно очистить всю таблицу. Или есть сайд-эффекты.

> DELETE FROM "user" CASCADE; а как это работает? Postgres не умеет в CASCADE для DELETE же.

Виктор Егоров
> DELETE FROM "user" CASCADE; а как это работает?...

Как "DELETE FROM "user" AS CASCADE;" конечно. Таковы радости выдумывания несуществующего синтаксиса. :)

Похожие вопросы

Обсуждают сегодня

И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
17
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
#include <stdio.h> #include <string.h> int main() { char *str = "Hello World"; char *ptr; int i = 0; for(char *end = str + strlen(str) - 1; end = str; ptr++, ...
Wenks
9
а я правильно понимаю что в винде сетевые диски выполнены на уровне юзерспейс драйвера? ну я про те которые webDAV, SMB и прочие высокоуровневые
Mixail Frolov
9
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Карта сайта