MariaDB - การโคลนตาราง

บางสถานการณ์จำเป็นต้องสร้างสำเนาที่ถูกต้องของตารางที่มีอยู่ คำสั่ง CREATE ... SELECT ไม่สามารถสร้างเอาต์พุตนี้ได้เนื่องจากละเลยสิ่งต่างๆเช่นดัชนีและค่าเริ่มต้น

ขั้นตอนในการทำซ้ำตารางมีดังนี้ -

  • ใช้ SHOW CREATE TABLE เพื่อสร้างคำสั่ง CREATE TABLE ที่ให้รายละเอียดโครงสร้างทั้งหมดของตารางต้นทาง

  • แก้ไขคำสั่งเพื่อตั้งชื่อใหม่ให้ตารางและดำเนินการ

  • ใช้คำสั่ง INSERT INTO ... SELECT หากคุณต้องการคัดลอกข้อมูลตารางด้วย

mysql> INSERT INTO inventory_copy_tbl (
   product_id,product_name,product_manufacturer,ship_date)
   
   SELECT product_id,product_name,product_manufacturer,ship_date,
   FROM inventory_tbl;

อีกวิธีหนึ่งในการสร้างสำเนาใช้คำสั่ง CREATE TABLE AS คำสั่งจะคัดลอกคอลัมน์คำจำกัดความคอลัมน์ทั้งหมดและเติมข้อมูลสำเนาด้วยข้อมูลของตารางต้นทาง

ตรวจสอบไวยากรณ์ที่ระบุด้านล่าง -

CREATE TABLE clone_tbl AS
   SELECT columns
   FROM original_tbl
   WHERE conditions];

ตรวจสอบตัวอย่างการใช้งานด้านล่าง -

CREATE TABLE products_copy_tbl AS
   SELECT *
   FROM products_tbl;