В качестве SQLite базы данных У меня есть две таблицы: «вещества» и «плотности» со столбцами «идентификаторов, имя» (для веществ таблица) и "ID, вещество, плотность" (для плотность таблица). materialid имеет внешний ключ (ссылки IDвещества таблица). substanceid является уникальным, так что есть такое же количество строк в обеих таблицах (каждая строка, соответствующая одному substanceid)SQLite запрос на обновление с двумя таблицами с внешним ключом
Я хочу обновить плотности и имя для некоторого substanceid, т.е. одна строка в каждой таблице, но немного бит с синтаксисом для обновления веществ стол.
плотности таблицы можно обновлять с:
UPDATE densities
SET density = obj.getDensity()
WHERE id = obj.getId();
Объект сос содержит (идентификатор, плотность, имя), но не substanceId.
Для веществ стол Я хотел бы написать что-то вроде:
UPDATE substances
SET name = obj.getName()
WHERE id = ???
и «???» в прозе будет:
densities.substanceid, для которых densities.i = obj.getId
Как я пишу это в SQLite?
Могу ли я спросить, почему у вас нет ни одного «веществ» таблицы «плотности» является столбец? –
И, кстати, быстро прочитайте действие «ON UPDATE CASCADE» и посмотрите, помогает ли оно. –
Хороший вопрос, и никакого хорошего ответа. С одной стороны, у меня была одна таблица, которую я разделил, с одной стороны, чтобы немного научиться/немного поработать с внешними ключами, а также потому, что это немного смутило меня, имея вещества вместе с плотностями. К веществам также будут относиться внешние ключи к другим таблицам базы данных. – user1583209