![]() |
1
10
在单个SQL查询中执行复杂的更新并不总是最好的。事实上,运行两个简单的查询可能更有效。因此,务必对这两种解决方案进行基准测试。
MySQL支持对
然后你可以使用
因此,如果您必须使用单个查询,请尝试以下操作:
或者这个替代方案:
|
![]() |
2
7
|
![]() |
3
1
如果您只需要一条语句,您可以使用CASE操作符吗?未使用MySQL,但类似于:
|
![]() |
4
0
您完全可以创建一个存储过程,将新获奖者的id作为参数。 然后可以在一行中调用该存储过程。 我在这里使用的是MS SQL,但类似于:
|
![]() |
5
0
由于您正在执行两个不同的更新,因此无需在一个查询中执行。如果因为两个查询中的一个可能会失败而担心数据不一致,那么可以使用事务并回滚两个查询中的任何一个。 您当前的查询是完全可读和可理解的,而发布的解决方案远非易读。 |
![]() |
M S · 显示加入两个表的所有可用视频 2 年前 |
![]() |
neeh · 为每个父记录选择具有条件的子记录数[重复] 2 年前 |
![]() |
J. Krajewski · 如何计算具有给定成员的组的行数? 2 年前 |
![]() |
VickyBoy · 我试图用3个以上的表构建一个查询,其中数据分散在 2 年前 |
![]() |
newGuy101 · 如何将SQL子查询转换为Join子句? 2 年前 |
![]() |
user18797786 · Fuzzy Wuzzy和另一列的条件 2 年前 |
![]() |
Python learner Shaavin · 在解码过程中保留空间 2 年前 |
![]() |
Marvin · 在MySQL视图中左键连接 2 年前 |