Взаимосвязь таблиц в SQLite3 Python

Не могу разобраться в объединение таблиц в sqlite3 на python. Сколько не искал, как не вбивал в поиск, то везде пишут одно и то же, а именно написать данную строку после подключения к БД:

connection.execute('PRAGMA foreign_keys = 1')     #вместо 1 использовал так же True и ON

И в создание таблиц написать в одной из них взаимосвязь, что я и сделал

cursor.execute('''
CREATE TABLE IF NOT EXISTS Users (
id INTEGER PRIMARY KEY,
chat_id INTEGER,
username TEXT NOT NULL
)
''')

cursor.execute('''
CREATE TABLE IF NOT EXISTS Events (
id INTEGER PRIMARY KEY,
date TEXT NOT NULL,
time TEXT NOT NULL,
name_event TEXT NOT NULL,
user_id INTEGER,
FOREIGN KEY (user_id) REFERENCES Users (id)    #так же дописывал настройки по типу ON DELETE и ON UPDATE с доп настройками
)
''')

Заполнял таблицы с помощью функций и команд по типу

# Таблицы Users
cursor.execute('INSERT INTO Users (chat_id, username) VALUES (?, ?)', (63789, 'Maxim'))
#Таблица Events
while True:
    uid = int(input('Какого пользователя выбрать?\n'))
    date = input('Когда мероприятие?\n')
    timeD = input('Во сколько мероприятие?\n')
    name_event = input('Что за мероприятие?\n')
    cursor.execute('INSERT INTO Events (date, time, name_event, user_id) VALUES (?, ?, ?, ?)', (date, timeD, name_event, uid))
    Exit = input('Закончить? y/n')
    if Exit == 'y':
        break
    elif Exit == 'n':
        pass

В итоге хотел получить возможность, удалив данные пользователя из таблицы Users, удалить связанные с ним данные с помощью user_id из таблицы Events

Может я не правильно заполнял таблицы или что-то другое не так сделал.

Прошу помочь кто знает как решить мою проблему


Ответы (1 шт):

Автор решения: Otets Valerian

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

→ Ссылка