这是我在这里的第一篇文章。我试过查阅其他主题,但没有找到符合我要求的内容。
mysql - 数据库设计:多个表和外键-LMLPHP
我的mysql数据库中有三个表(central、development、production)。Central是我的父表,我希望在子表(开发和生产)上有许多列。我为什么要这么做?这是因为我不想与此服务器的不同用户共享Central的全部内容(共享此表的所有列)。假设我在Central中有一个名为“name”的列,我希望所有访问“development”和“production”的用户都能看到这些表中的“name”,并能够添加信息。因此,他们(正在访问开发和生产的用户)可以更改列“name”,还可以处理“central”中不包括的其他字段,central是我的父表。请看附图。
非常感谢。

最佳答案

如果没有更多的信息,下面的内容似乎就是你想要的。我认为“中心”的变化反映在“发展”和“生产”上,反之亦然。我假设用户X、Y和Z是数据库用户,而不是应用程序用户,并且它们已经存在。我假设你的数据库名是“app”。

CREATE VIEW development AS
SELECT id, name, investment, inventory FROM central;

CREATE VIEW production AS
SELECT id, name, address, revenue FROM central;

GRANT all ON app.central TO 'x'@'somehost';
GRANT all ON app.development TO 'x'@'somehost';
GRANT all ON app.development TO 'y'@'somehost';
GRANT all ON app.production TO 'x'@'somehost';
GRANT all ON app.production TO 'z'@'somehost';

10-08 20:21