首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql异或更新-比较行和更新值

问MySql异或更新-比较行和更新值
EN

Stack Overflow用户
提问于 2013-06-12 16:16:03
回答 1查看 223关注 0票数 0
代码语言:javascript
复制
SELECT * FROM products where [...]

将返回2+条目:

代码语言:javascript
复制
+------------+-------------+
| product_id | provider_id |
+------------+-------------+
| 0000001    |      NULL   |
+------------+-------------+
| 0000004    |      0032   |
+------------+-------------+
| 0000009    |      NULL   |
+------------+-------------+

我正在寻找一个MySQL命令(如果它存在的话),它可以从provider_id (非空到其他NULL的行)填充

代码语言:javascript
复制
+------------+-------------+
| product_id | provider_id |
+------------+-------------+
| 0000001    |      0032   |
+------------+-------------+
| 0000004    |      0032   |
+------------+-------------+
| 0000009    |      0032   |
+------------+-------------+

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

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 16:30:28

简约的方法:

代码语言:javascript
复制
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)。否则,它将失败,出现错误消息(而什么也不做)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17070438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档