【发布时间】:2021-10-06 22:25:03
【问题描述】:
我有一个 MYSQL 数据库(在 PHPMyAdmin 中),其中包含两个表 users 和 posts。两者都有一个username 列。我想修改posts 表中的username 列并使其从users 表中提取用户名数据,即posts 表中的数据自动从users 表中更新,并且在 users 表的任何更新中引用它。
我最初认为这是使用外键完成的,但如果我理解正确外键只与父表中的主键相关?
我收到一条错误消息,指出以下语法不正确,尽管它没有给我任何提示/解决方案:
ALTER TABLE posts
MODIFY COLUMN username VARCHAR(55) NOT NULL
REFERENCES users(username) ON UPDATE CASCADE
如何修改现有列,使其引用/使用数据库中不同表中的列数据?
两个表中的username列具有相同的类型、大小和属性,即VARCHAR(55) NOT NULL,并且使用的是innoDB存储引擎。
【问题讨论】:
-
查看
JOINS的使用方法。 -
@danblack 不是在查询数据库时使用
joins吗?我希望从users表username列填充posts表username列,就像使用不同表的主键填充外键列一样。 -
in the same way a foreign key column is populated using the primary key of a different table- 这不是一回事。在结构化查询语言中,提供结构的是查询
标签: mysql database relational-database