В MySQL можно (используя только механизм хранения MyISAM) создать таблицу с нуля, используя символические ссылки. Это возможно в Linux и Windows (используя жесткие ссылки):
Вот мои прошлые посты на эту тему
Однако то, что вы предлагаете, должно быть сделано за пределами MySQL в Linux.
Для этого примера
- / var / lib / mysql - это datadir
- Создать table1 как MyISAM таблицу в базе данных mydb
- Создать table2 как чистые символические ссылки на table1
ШАГ 01) Создать таблицу1
CREATE TABLE mydb.table1
(
id int not null auto_increment,
mydata varchar(255) not null,
primary key (id)
) ENGINE=MyISAM;
ШАГ 02) Создайте три символические ссылки для имитации TableB
cd /var/lib/mysql/mydb
ln -s table1.frm table2.frm
ln -s table1.MYD table2.MYD
ln -s table1.MYI table2.MYI
ШАГ 03) Попробуйте вставить в таблицу 1 и прочитать из таблицы 2. Тогда попробуйте обратное.
INSERT INTO table1 (mydata) VALUES ('rolando'),('edwards');
SELECT * FROM table2;
INSERT INTO table2 (mydata) VALUES ('abraham'),('lincoln');
SELECT * FROM table1;
Если все ведет себя нормально, то вот как вы можете это сделать.
ПРЕДОСТЕРЕЖЕНИЕ
- Есть только одна таблица, таблица1
- Если вы делаете какой-либо DDL
- Выполните DDL на table1
- Вы должны воссоздать символьные ссылки table2 после DDL против table1