быть только если selector = 1, но как это выразить в DDL'е - я не понимаю...
Косяк, да... https://www.db-fiddle.com/f/4jyoMCicNSZpjMt4jFYoz5/3001
> А почему выбивает ошибку? Потому что поля FK должны совпадать с полями unique constraint / index. > по задумке ссылка на test1 может быть только если selector = 1 Я не совсем понимаю, что нужно... FK + CHECK, может быть?
Если в test2_selector только одно правильное значение -- то сделайте два поля в foreign key, делов-то. Во второе будете вашу константу вписывать. Можно ещё check добавить.
И как напилить FK в этом случае?
Как сделать fk на два столбца сразу? Да как в документацыи написано. Можно, впрочем, и по аналогии догадаться.
Вы предлагаете ради удовлетворения FK впихнуть колонку, где всегда будет одно значение во 2ю таблицу?.. Дарвинизмом попахивает
Да, предлагаю. И я вообще дарвинист, и не понял, что вы хотели сказать этим дополнением.
Премию Дарвина погуглите.
Смешно. Нет, не думаю, что кто-то будет отрывать вам за это яйца.
Я-бы оторвал. Поэтому так мы делать не будем.
Ну, вольному -- воля.
Обсуждают сегодня