mysql - 如何将 "user"表连接到 "tasks"表

标签 mysql sql foreign-keys

我有一个名为“to_do_list”的数据库。我希望用户能够登录并创建任务。我在“to_do_list”中有两个表:

tasks:
task_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
task VARCHAR(255) NOT NULL
importance VARCHAR(255) NOT NULL
due_date DATE NOT NULL

user:
user_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
username VARCHAR(255) NOT NULL UNIQUE
email VARCHAR(255) NOT NULL
password VARCHAR (255) NOT NULL
active TINYINT(1) NOT NULL

如何连接这两个表以便用户可以登录并创建任务?我知道我必须创建一个外键,但每次这样做,我都无法登录或创建任务。删除外键后,一切都会恢复正常。

最佳答案

任务与用户有什么关系?用户有任务吗?一个任务一次可以属于一个用户吗?

我假设两个答案都是肯定的。

如果是这样,那么您需要在任务表中添加一个 user_id 列,并将其标记为外键。这用于捕获您的任务与哪个用户相关。

您可以通过将此行添加到任务的 CREATE TABLE 语句(或 ALTER TABLE)中来执行此操作:

FOREIGN KEY (user_id) REFERENCES user(user_id)

如果您遇到登录问题,那么这将是另一个问题。也许您的登录逻辑来自不正确的 SQL 查询或其他一些编程逻辑。

关于mysql - 如何将 "user"表连接到 "tasks"表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46598851/

相关文章:

php - 具有 UNIQUE INDEX MySQL 和 NULL 列的重复行

mysql - 运行减法,但仅当金额仍高于限制时才进行减法

mysql 错误 150 在两个表中引用相同的外键列

mysql - 强制两个一对一表之间的唯一性

sql - 如何在sql中引用一对属性?

php - 在 php 中检测到 'flush tables with read lock'

c++ - 未加载 QMYSQL 驱动程序,已尝试所有提示

php - 如何检查 mysql 搜索 JOIN 查询期间是否存在行?

sql - 优化 Soundex 查询以查找相似的名称

python - 许多文本文件中的大量数据 - 如何处理?