มันเป็นไปได้ใน MySQL (ใช้ MyISAM หน่วยเก็บข้อมูลเท่านั้น) เพื่อสร้างตารางตั้งแต่เริ่มต้นโดยใช้ symlink มันเป็นไปได้ใน Linux และ Windows (ใช้ hardlinks):
นี่คือโพสต์ที่ผ่านมาของฉันในเรื่องนี้
อย่างไรก็ตามสิ่งที่คุณเสนอจะต้องทำนอก MySQL ใน Linux
สำหรับตัวอย่างนี้
- / var / lib / mysql เป็นวันที่
- สร้าง table1 เป็นตาราง MyISAM ในฐานข้อมูล mydb
- สร้าง table2 เป็น symlink แท้ๆไปที่ table1
STEP 01) สร้าง table1
CREATE TABLE mydb.table1
(
id int not null auto_increment,
mydata varchar(255) not null,
primary key (id)
) ENGINE=MyISAM;
ขั้นตอนที่ 02) สร้าง symlink สามตัวเพื่อเลียนแบบ 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 บนตารางที่ 1
- คุณต้องสร้าง symlink table2 ใหม่หลังจาก DDL เทียบกับ table1