บางครั้งต้องการข้อมูลจำนวนมาก เพื่อ test บางอย่าง เช่น ระบบแบ่งหน้า โชคดีที่มายเอสคิวเอลสามารถ copy มาจาก record อื่น ๆ ได้ เช่น
INSERT INTO tableName (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM tableName WHERE primarykey = 1
สมมุติจะคัดลอกตาราง `cds` ในดาต้าเบส cdcol ที่เป็นตัวอย่างติด xampp มา ถ้าไม่มีสร้างใหม่ได้จาก query
CREATE TABLE IF NOT EXISTS `cds` (`titel` varchar (200) COLLATE latin1_general_ci DEFAULT NULL, `interpret` varchar (200) COLLATE latin1_general_ci DEFAULT NULL, `jahr` int (11) DEFAULT NULL,
`id` bigint (20) unsigned NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ; INSERT INTO `cds` (`titel`, `interpret`, `jahr`, `id`) VALUES ('Beauty', 'Ryuichi Sakamoto', 1990, 1) , ('Goodbye Country (Hello Nightclub) ', 'Groove Armada', 2001, 4) , ('Glee', 'Bran Van 3000', 1997, 5) ; ALTER TABLE `cds` ADD PRIMARY KEY (`id`) ;
เราจะ copy เพิ่มโดยคิวรี่
INSERT INTO `cds` (`titel`, `interpret`, `jahr`) SELECT `titel`, `interpret`, `jahr` FROM `cds` WHERE `id` = 5
สังเกต จะไม่เลือก ฟิลด์ id เพราะ field มันเป็น primary key หลังจากรันคิวรี่จะเห็นว่าข้อมูลเพิ่มขึ้นมาใหม่เหมือนข้อมูลใน id = 5 ทุกอย่างยกเว้น id