首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时插入多个表(HEIDISQL)

同时插入多个表(HEIDISQL)
EN

Database Administration用户
提问于 2019-03-24 12:49:29
回答 1查看 410关注 0票数 1

我有三张桌子。

flatpack_apn

components_apn

flatpackcomponents_apn

代码语言:javascript
复制
CREATE TABLE `component_apn` (
`componentno` INT(11) NOT NULL AUTO_INCREMENT,
`description` VARCHAR(30) NOT NULL,
PRIMARY KEY (`componentno`)
)
COLLATE='hp8_english_ci'
ENGINE=InnoDB
;


CREATE TABLE `flatpackcomponents_apn` (
`flatpackid` INT(11) NOT NULL,
`componentno` INT(11) NOT NULL,
`quantity` INT(10) NOT NULL,
PRIMARY KEY (`componentno`, `flatpackid`),
INDEX `flatpackid` (`flatpackid`),
INDEX `componentno` (`componentno`),
CONSTRAINT `flatpackcomponents_apn_ibfk_1` FOREIGN KEY (`flatpackid`) REFERENCES `flatpack_apn` (`flatpackid`),
CONSTRAINT `flatpackcomponents_apn_ibfk_2` FOREIGN KEY (`componentno`) REFERENCES `component_apn` (`componentno`)
)
COLLATE='hp8_english_ci'
ENGINE=InnoDB
;


CREATE TABLE `flatpack_apn` (
    `flatpackid` INT(11) NOT NULL AUTO_INCREMENT,
    `name` TINYTEXT NOT NULL,
    `colour` TEXT NULL DEFAULT NULL,
    `flatpacktype` ENUM('Office','Kitchen','Bedroom','General') NOT NULL,
    `unitprice` DECIMAL(5,2) NULL DEFAULT NULL,
    PRIMARY KEY (`flatpackid`)
)
COLLATE='hp8_english_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2123
;

我被要求:

用示例数据填充表,使用适当的数据值,并选择不让人讨厌的值。扁平包:至少有5个平板组件,其中至少2个组件组件超过3个:至少10个组件

我对如何做到这一点有点不确定。

我以为:

代码语言:javascript
复制
INSERT INTO flatpack_apn 
SELECT *FROM components_apn


INSERT INTO flatpack_apn

SELECT quantity FROM flatpackcomponents_apn;

是否可以同时运行它们,还是需要将它们作为两个单独的事件执行?简单地将它们作为两个独立的插入事件运行是否有任何缺点?事实上,我并不完全确定我是否正确地解释了上述问题。

作为一个侧栏,如果我在一个问题中问得太多,很抱歉,但是,我想,在添加行/记录之前,我需要在表中创建/插入新列。这是正确的假设吗?

EN

回答 1

Database Administration用户

发布于 2019-04-16 17:58:45

分拆两个线程同时运行查询的开销和复杂性几乎总是比按顺序执行它们花费更大。

复制整个表通常是一项罕见的任务。因此,演出往往不是什么大事。你这样做是正常流程的一部分吗?如果是这样的话,让我们更详细地看看是否有更好的方法来实现最终目标。

不要使用TINYTEXTVARCHAR(255) (或一些较小的数字)实际上是等价的,但在某些情况下效率更高。

裁员:

代码语言:javascript
复制
PRIMARY KEY (`componentno`, `flatpackid`),
INDEX `componentno` (`componentno`),    -- DROP, since the PK handles it.
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/232946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档