gpt4 book ai didi

mysql - 这是在 MySQL 上查询关系表的有效方法吗?

转载 作者:行者123 更新时间:2023-11-30 21:23:59 24 4
gpt4 key购买 nike

我正在处理一个关系表,我一直想知道是否有一种方法可以减少在向表中插入数据时需要进行的查询数量。

以下是我目前使用的查询:

我插入“主要”值。

INSERT INTO products
(title, description, status, url)
VALUES
('some title', 'description of doom', 1, 'some-title');

我们让它仅在值不存在时才插入该值。

    INSERT IGNORE INTO values
(value)
VALUES
('example value');

因为我不确定查询是否真的插入了,所以我得到了 id..

            SELECT id
FROM
values
WHERE
value = 'example value';

哪里有“?”是我从上次查询中得到的 ID。

                INSERT INTO link
( id_product, id_catalog, id_value )
VALUES
( 33, 1, ? );

这意味着我需要添加的每个额外值将花费 3 次查询。所以我的问题是:是否有更有效的方法来做到这一点?

最佳答案

您至少可以删除其中一个查询:

INSERT INTO link
( id_product, id_catalog, id_value )
VALUES
( 33, 1, (SELECT id
FROM values
WHERE value = 'example value') );

我基本上是在替换“?”使用第二个查询的子选择来获取 id。

关于mysql - 这是在 MySQL 上查询关系表的有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com