@xpril

Как работать с foreign key sqlite3 через python, нигде понятного объяснения не нашёл?

Есть например таблица country:

country_user_vkid INTEGER,
country_planet_id INTEGER,
country_name TEXT DEFAULT "Государство",
country_continent TEXT,
country_born INTEGER,
country_level INTEGER DEFAULT 0,
country_population BIGINT DEFAULT 0,
country_id INTEGER
)''')


И мне надо связать её с user.
Когда меняешь название стране(country_name), тогда менялось и название в user (user_country) автоматически, а как сделать это через foreign key ума не приложу, я пытался сделать, но выдавало ошибку.

user_id INTEGER PRIMARY KEY AUTOINCREMENT,
user_vkid INTEGER NOT NULL,
user_planet_id INTEGER NOT NULL,
user_name TEXT,
user_play INTEGER,
user_continent TEXT DEFAULT 'нет',
user_country TEXT DEFAULT 'нет',
  • Вопрос задан
  • 1322 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Питон тут нипричем. Читаем доки по sqlite, находим пример:
CREATE TABLE artist(
  artistid    INTEGER PRIMARY KEY, 
  artistname  TEXT
);
CREATE TABLE track(
  trackid     INTEGER,
  trackname   TEXT, 
  trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE
);

Пример обеспечивает каскадное обновление ключа (ты вроде это просишь).
Также может потребоваться включить поддержку внешних ключей, выполнив первым делом запрос:
PRAGMA foreign_keys = ON;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы