mysql没提供同义词的功能,oracle有,但其实可以简单模拟下。比如:
CREATE DATABASE seussdb;
CREATE DATABASE appdb;
GRANT ALL ON seussdb.* TO student;
GRANT ALL ON appdb.* TO student;
有两个数据库,给一个用户授权权限能访问它们;
然后往其中一个db中插入数据:
USE seussdb;
CREATE TABLE hat
( hat_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
, hat_text VARCHAR(20));
INSERT INTO hat (hat_text) VALUES ('Thing 1');
INSERT INTO hat (hat_text) VALUES ('Thing 2');
然后在另外一个数据库中建立视图:
/* Connect to the application database. */
USE appdb;
CREATE VIEW hat AS
SELECT * FROM seussdb.hat;
SELECT * FROM hat;
INSERT INTO hat (hat_text) VALUES ('Thing 3');
SELECT * FROM hat;
这样来说,hat其实就是同义词拉:
hat_id | hat_text |
+--------+----------+
| 1 | Thing 1 |
| 2 | Thing 2 |
| 3 | Thing 3 |
+--------+----------+
CREATE DATABASE seussdb;
CREATE DATABASE appdb;
GRANT ALL ON seussdb.* TO student;
GRANT ALL ON appdb.* TO student;
有两个数据库,给一个用户授权权限能访问它们;
然后往其中一个db中插入数据:
USE seussdb;
CREATE TABLE hat
( hat_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
, hat_text VARCHAR(20));
INSERT INTO hat (hat_text) VALUES ('Thing 1');
INSERT INTO hat (hat_text) VALUES ('Thing 2');
然后在另外一个数据库中建立视图:
/* Connect to the application database. */
USE appdb;
CREATE VIEW hat AS
SELECT * FROM seussdb.hat;
SELECT * FROM hat;
INSERT INTO hat (hat_text) VALUES ('Thing 3');
SELECT * FROM hat;
这样来说,hat其实就是同义词拉:
hat_id | hat_text |
+--------+----------+
| 1 | Thing 1 |
| 2 | Thing 2 |
| 3 | Thing 3 |
+--------+----------+