gpt4 book ai didi

mysql - 更新数据库表

转载 作者:搜寻专家 更新时间:2023-10-30 22:08:56 24 4
gpt4 key购买 nike

我有一个包含此表的数据库: Table

该表由 3 列组成:-id : 标识表的每一行-address:保留所有地址-default:一个 bool 列,其中 1 定义用户使用的默认地址

上图中使用的默认地址是 address1

我想添加第四个地址并将第四个地址设置为默认地址。所以我写了以下几行:

-UPDATE address SET default=false
-INSERT INTO addresses SET address = `address4`, default=true

我想知道的是,有没有什么办法可以结合这两条线来提高性能?或者使用 2 行可以吗?

在此先感谢您提供的帮助

最佳答案

您不能将它们组合成一个语句。但是,您可以将它们合并到一个事务中,以便它们同时生效。

您可以使用 start transaction 执行此操作,这已记录在案 here .

此外,我建议您逆向操作:

INSERT INTO addresses
SET address = $address4,
default = false;

UPDATE address
SET default = (case when address = $address4" then true else false end);

这看起来更复杂。但是,如果您不使用事务,请确保始终为查询该表的其他进程设置默认地址(假设存储引擎具有某些 ACID 功能)。

关于mysql - 更新数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38805104/

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