gpt4 book ai didi

MySql XOR 更新 - 比较行并更新值

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

SELECT * FROM products where [...]

将返回 2 个以上条目:

+------------+-------------+
| product_id | provider_id |
+------------+-------------+
| 0000001 | NULL |
+------------+-------------+
| 0000004 | 0032 |
+------------+-------------+
| 0000009 | NULL |
+------------+-------------+

我正在寻找(如果存在)一个MySQL命令来将provider_id不为空的行填充到其他NULL :

+------------+-------------+
| product_id | provider_id |
+------------+-------------+
| 0000001 | 0032 |
+------------+-------------+
| 0000004 | 0032 |
+------------+-------------+
| 0000009 | 0032 |
+------------+-------------+

这肯定可以在 PHP 中通过发出几个查询执行来完成。但我愿意用最少的 php 代码和最多的 MySQL/SQLite 处理来使其整洁。

感谢您的帮助!

最佳答案

一个简单的方法:

UPDATE products SET provider_id = (SELECT provider_id FROM products WHERE [...])
WHERE [...] -- same condition here
AND provider_id IS NULL -- this is probably useless

这假设原始查询中只有一行包含 (provider_id IS NOT NULL)。否则它将失败并显示错误消息(并且不执行任何操作)。

关于MySql XOR 更新 - 比较行并更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070438/

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