У меня здесь есть интересная проблема. У меня есть таблица базы данных MySql, связанная с несколькими другими таблицами. Например, «основная» таблица представляет собой набор учебных материалов вместе со связанными таблицами:Как обновить запись в базе данных MySql с несколькими записями, связанными в других таблицах?
- Оценки, на которые нацелен материал;
- Грамматика указывает, что материал лучше всего использовать;
- Ключевые слова, связанные с материалом
Я хочу, чтобы иметь возможность обновлять и изменять эти записи. Изменение основной записи достаточно просто, но как насчет подключенных записей? Например, предположим, что у меня есть учебный материал, который я изначально собирался учить глаголам и прилагательным, и лучше всего использовать для 1-4 классов. Теперь позже я решил добавить 5 класс в список, удалить 1-й класс и что материал действительно лучше для обучения существительных и прилагательных, но не глаголов.
Что было бы лучшим способом обновить таблицы классов и грамматики? Я не хочу непреднамеренно перезаписывать данные, которые я хотел сохранить, и не сохранять данные, которые я хотел удалить. Должен ли я просто уничтожить все записи, связанные с этим конкретным учебным материалом, и повторно ввести их, или есть ли другой способ, чтобы я мог их индексировать, чтобы они могли быть более эффективно обновлены?
Не забывайте, что внешние ключи работает только с движком InnoDB. – biziclop
@ biz действительно? Ive использовал только оракул, поэтому я не знал, что он не универсален, но в любом случае не является mySQL oracle? – simchona
Нет, механизм 'MyISAM' намного глупее, он абсолютно не совместим с ACID, не имеет внешних ключей, никаких транзакций. – biziclop