MySQL 链接表 - View 、外键或触发器?

标签 mysql triggers view foreign-keys

如果 "link" 不是这个的确切术语,我深表歉意。

我有一个包含用户信息(用户和密码)的表。我需要相同的用户:密码对出现在同一数据库的另一个表中。第二个表需要始终复制第一个表 - 如果从第一个表中删除或添加了一个条目 - 更改必须立即应用于第二个表。

拜托,我需要一个如何做到这一点的例子,因为我不知道在谷歌上搜索的术语..


我只需要两列是重复的,而不是整个表。

最佳答案

A view可能会起作用,具体取决于您现有系统施加的限制,以及那些 imposed by views .它保存重复数据:

CREATE TABLE web_users (username VARCHAR(255), password VARCHAR(255));

CREATE VIEW forum_users AS SELECT username, password FROM web_users;

INSERT INTO web_users VALUES ('user1', 'password1');

SELECT * FROM forum_users;
+----------+-----------+
| username | password  |
+----------+-----------+
| user1    | password1 |
+----------+-----------+

INSERT INTO forum_users VALUES ('user2', 'password2');

SELECT * FROM forum_users;
+----------+-----------+
| username | password  |
+----------+-----------+
| user1    | password1 |
| user2    | password2 |
+----------+-----------+

SELECT * FROM web_users;
+----------+-----------+
| username | password  |
+----------+-----------+
| user1    | password1 |
| user2    | password2 |
+----------+-----------+

关于MySQL 链接表 - View 、外键或触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376920/

相关文章:

mysql - MySQL 触发器中的 IF 语句

使用bash复制mysql数据库脚本

sql-server - 在触发器中查找多个更新的列

CREATE TRIGGER 之前 DELIMITER 上的 MySQL 语法错误

java - 用于建模 View 的类

php - Laravel 日期和时间需要拆分

mysql - 无法使用 UNION ALL 创建新表

php - Google App Engine Cloud SQL 上的 SQL 语法错误

sql-server - 如何获取数据库上的事件触发器列表?

android - 如何初始化 View (ToggleButtons)数组?