Я очень плохо знаком с SQL.Я прочитал кучу вопросов о том, как соединить или присоединить две разные базы данных SQLite вместе, но я не нашел успеха, используя любой из описанных методов.Вероятно, проблема связана с моим собственным неправильным пониманием того, как работает SQL, но здесь говорится:
Я хотел бы создать две разные базы данных SQL, одну для пользователей сайта и одну для сообщений, отправляемых между пользователями.
Схема для users
db (имя файла: blog_users.sqlite) выглядит следующим образом:
DROP TABLE IF EXISTS user;
CREATE TABLE user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL
);
Схема, которую я придумал для messages
db, выглядит следующим образом:
DROP TABLE IF EXISTS user;
DROP TABLE IF EXISTS message;
ATTACH DATABASE 'blog_users.sqlite' AS 'users';
CREATE TABLE user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL
);
CREATE TABLE message (
id INTEGER PRIMARY KEY AUTOINCREMENT,
author_id INTEGER NOT NULL,
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
title TEXT NOT NULL,
body TEXT NOT NULL,
FOREIGN KEY (author_id) REFERENCES users.user (id)
);
Возможность создания сообщения должна быть ограничена требованием идентификатора пользователя, который должен быть извлечен из users
дБ, поэтому я попытался использовать FOREIGN KEY
.
Может кто-нибудь объяснить, что я делаю неправильно, или указать мне правильное направление?
Заранее спасибо