gpt4 book ai didi

mysql - 当列的值相等时更新同一个 MySQL 表上的行

转载 作者:行者123 更新时间:2023-11-29 18:01:29 25 4
gpt4 key购买 nike

当列 xIDID 的值相等时,我需要在同一个 MySQL 表上更新该行。

这是一个例子:

mysql> SELECT
Euro,
ALMACEN,
Imagen,
xID,
ID
FROM
`tbl_g`
WHERE
xID IN (2025)
OR ID IN (2025);
+--------+----------+--------+------+------+
| Euro | ALMACEN | Imagen | xID | ID |
+--------+----------+--------+------+------+
| 7742,8 | ARGUALAS | NULL | NULL | 2025 |
| NULL | EMPALME | | 2025 | 4441 |
+--------+----------+--------+------+------+
2 rows in set

我尝试过此 SQL 更新查询,但没有成功,因为 xID 编号为 2025 的行未使用 ID 2025 的行的值进行更新:

mysql> UPDATE `tbl_g` kkk,
`tbl_g` jjj
SET kkk.Euro = jjj.Euro
WHERE
kkk.ID = jjj.xID
AND kkk.xID IS NOT NULL;

Query OK, 0 rows affected
Rows matched: 0 Changed: 0 Warnings: 0

如何解决这个问题?

你能帮我吗?

提前感谢您的帮助,非常感谢。

最佳答案

使用 JOIN(自联接)更新表并使用 WHERE 子句检查列欧元为空。

查询

update `tbl_g` as `t1`
join `tbl_g` as `t2`
on `t1`.`xID` = `t2`.`ID`
set `t1`.`Euro` = `t2`.`Euro`
where `t1`.`Euro` is null;

注意:有可能出现多行满足条件的情况。

关于mysql - 当列的值相等时更新同一个 MySQL 表上的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48281730/

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