У 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) Спробуйте вставити в table1 та прочитати з table2. Потім спробуйте зворотно.
INSERT INTO table1 (mydata) VALUES ('rolando'),('edwards');
SELECT * FROM table2;
INSERT INTO table2 (mydata) VALUES ('abraham'),('lincoln');
SELECT * FROM table1;
Якщо все поводиться нормально, то це можна зробити.
КАВАТИ
- Є лише одна таблиця, table1
- Якщо ви робите будь-який DDL
- Виконайте DDL на table1
- Ви повинні відтворити посилання table2 після DDL проти table1