Значение по умолчанию для столбцов MySQL - это значение по умолчанию из первичного ключа другой таблицы

0

(Таблица) В файле много (Таблица) слов

FK Words.file_id, связанный с одним файлом File.id

Значение по умолчанию Words.frame равно File.frame для этого PK/FK

У этого типа отношения по умолчанию есть имя? Примеры получения этой настройки? (Баз данных)

Изменить


Причиной этого является то, что слова могут иметь тот же фрейм, что и файл, и если они это сделают, мы хотим использовать это значение по умолчанию, однако некоторые из них могут и не должны устанавливаться вручную. Это действительно плохая практика, чтобы справиться с этим так, как описано в одном из ответов? Любые предложения по улучшению?

  • 0
    Если изменяется кадр файла, должны ли также изменяться рамки слов, которые все еще используют значение по умолчанию, или они должны оставаться такими же, какими были значения по умолчанию при добавлении? Это вопрос, который я хотел бы задать, чтобы определить, является ли это дублированием данных. (Если слово frame должно измениться, чтобы соответствовать, то это должно быть представлено нулевым значением, а не копированием.)
Теги:

2 ответа

1
Лучший ответ

Вы можете использовать триггер. Вы должны уметь сопоставлять "значение по умолчанию" Words.frame, основанное на значении другого поля в таблице File.

1

У него нет имени, но он чувствует себя как денормализация/дублирование данных.

@Даниэль Вассалло предлагает триггер вставки для этого, и я думаю, что это был бы лучший подход, если это действительно то, что вам нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню