Есть две таблицы table1 и table2. Я хочу, чтобы table2 содержала поле, ссылающееся на первичный ключ table1, и при обновлении/удалении table1 автоматически обновлялись/удалялись записи table2.
С базой я работаю через утилиту sqlite3.
Таблицы я создаю следующим образом:
create table table1 ('name' CHAR(100) PRIMARY KEY);
create table table2 ('t2_name' CHAR(100) PRIMARY KEY REFERENCES table1(name) ON UPDATE CASCADE ON DELETE CASCADE);
Я заполняю таблицы и обновляю одну из записей table1, на первичный ключ которой ссылается одна из записей table2. При этом запись из table2 не изменяется. Что я делаю не так?
Внешний ключ в sqlite3. Каскадирование. (Хочу, чтобы автоматически обновлялись/удалялись ссылающиеся записи)
Модератор: Модераторы разделов
-
- Сообщения: 187
- ОС: openSUSE 11.2
Re: Внешний ключ в sqlite3. Каскадирование.
я не знаток sqllite, но наверняка там должно быть что-то про foreign key и constraint, но ручаться не буду, ибо) ну и наличие двух таблиц, в каждой по одной колонке, причем во второй есмь первичный ключ, он же внешний (причем не заданный)...бррр.. впечатляет
А вообще такие вопросы хорошо спрашивать на форуме SQL.ru, чего Вам и советую

А вообще такие вопросы хорошо спрашивать на форуме SQL.ru, чего Вам и советую
Попытка - первый шаг к провалу (с) Гомер
-
- Сообщения: 53
Re: Внешний ключ в sqlite3. Каскадирование.
mix1m писал(а): ↑30.01.2009 13:05я не знаток sqllite, но наверняка там должно быть что-то про foreign key и constraint, но ручаться не буду, ибо) ну и наличие двух таблиц, в каждой по одной колонке, причем во второй есмь первичный ключ, он же внешний (причем не заданный)...бррр.. впечатляет
А вообще такие вопросы хорошо спрашивать на форуме SQL.ru, чего Вам и советую
Честно говоря, сейчас подумал, что в данном случае не имеет значения используемая СУРБД.
Из первой таблицы я при создании темы исключил все колонки, кроме ключевой, ибо для решения проблемы они не важны. Вторая таблица действительно содержит только одну колонку. В моем приложении первая таблица - это пользователи приложения, вторая - заявки пользователей на участие в мероприятии. Пока кроме факта наличия заявки доп данных не требуется, но в дальнейшем таблица 2 может расшириться.
Спасибо, сейчас задам вопрос и там.