【发布时间】:2021-08-24 09:13:50
【问题描述】:
我有两个表,用户表和登录表。 说:
Create table users(
id int not null,
name varchar not null,
email varchar not null,
password varchar not null,
entries int default 0,
primary key(id));
Create table login(
id int not null,
email varchar not null,
password varchar not null,
user_id int not null,
Primary key(id)),
Foreign key (user_id) references users(id));
我可以添加哪些约束或如何解决问题,以便每当我在 users 表中添加用户时,email 和 password 列都会添加到登录表也是(就像说我创建了用户表的最小化版本,它只包含用户的登录凭据)。并且每当我从用户表中删除一个用户时,他应该从登录表中删除。
我希望我的描述性已经足够了????
【问题讨论】:
-
有2张桌子的原因是什么?一个用户是否可以有多个登录名?
-
不@Akina,用户表可能会随着时间的推移而变得混乱(很多列),所以我只想创建一个单独的表,其中只包含每个创建的用户的登录凭据。可能不是最好的设计,但我是数据库管理的初学者,所以这只是我脑海中闪过的一个想法,我很想尝试。
-
如果是这样,则将凭据数据存储在
login表中,并在用户表中存储“很多列”,包括对登录表的引用。您将避免数据重复。
标签: mysql node.js express knex.js