MySQL是一款主流的關系型數據庫管理系統,在數據庫中,我們有時需要將一份數據插入到多張表中,這也是MySQL很重要的一個功能。下面是一個示例,介紹如何在MySQL中插入多張表。
/* 創建3張表 */ CREATE TABLE `customer` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `order` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `order_no` VARCHAR(255) NOT NULL, `customer_id` INT(11) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`customer_id`) REFERENCES `customer` (`id`) ); CREATE TABLE `product` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `order_id` INT(11) NOT NULL, `name` VARCHAR(255) NOT NULL, `price` DECIMAL(10,2) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) );
創建完成表之后,我們可以使用INSERT INTO和SELECT語句來往多個表中插入數據。以下是一個示例。
/* 插入數據 */ INSERT INTO `customer` (`name`) VALUES ('張三'); INSERT INTO `order` (`order_no`,`customer_id`) SELECT '20170101001', `customer`.`id` FROM `customer` WHERE `customer`.`name`='張三'; INSERT INTO `product` (`order_id`,`name`,`price`) SELECT `order`.`id`, 'iPhone 7', 5888.00 FROM `order` JOIN `customer` ON `order`.`customer_id`=`customer`.`id` WHERE `customer`.`name`='張三';
以上是一個往多個表中插入數據的示例,具體的操作還需根據實際情況進行調整。
上一篇mysql插入多條記錄
下一篇mysql插入年齡字段