gpt4 book ai didi

mysql - 切换数据库中的记录

转载 作者:行者123 更新时间:2023-11-29 11:09:34 24 4
gpt4 key购买 nike

我想要做的是切换数据库中记录的值。这是一个例子:

+--------------+--------- +-------------------+
|ingredient_id | quantity | preferred_measure |
+--------------+----------+-------------------+
| 40 | 5.00 | tbsp |
| 28 | 5.00 | tsp |
+--------------+----------+-------------------+

我想要做的是更改preferred_measure并将它们切换为如下所示:

+--------------+--------- +-------------------+
|ingredient_id | quantity | preferred_measure |
+--------------+----------+-------------------+
| 40 | 5.00 | tsp |
| 28 | 5.00 | tbsp |
+--------------+----------+-------------------+

如果我只更改一个,那么所有记录都将具有相同的值,并且我将无法找到需要更改为其他值的记录,因为所有记录都将相同。

请记住,数据库中这些记录的数量超过 10k。

为了澄清一点,preferred_measure 是 enum('tsp'.'tbsp') 的类型,不可能更改为这两个值之外的其他值。

最佳答案

这只会更改两个字符串:

UPDATE YOUR_TABLE SET preferred_measure =
IF(preferred_measure = 'tsp', 'tbsp',
IF (preferred_measure = 'tbsp', 'tsp', preferred_measure));

您还可以使用 WHERE 来加速查询:

UPDATE YOUR_TABLE SET preferred_measure =
IF(preferred_measure = 'tsp', 'tbsp',
IF (preferred_measure = 'tbsp', 'tsp', preferred_measure))
WHERE preferred_measure IN('tbsp','tsp');

关于mysql - 切换数据库中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40841165/

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