gpt4 book ai didi

mysql - 动态选择 MySQL 更新

转载 作者:行者123 更新时间:2023-11-30 23:22:48 25 4
gpt4 key购买 nike

这更像是一个理论问题。我有一个包含各种文本字段、下拉框等的页面。每个用户都有他/她的“自己的页面”,可以通过我指的这个更新页面进行更新。他根据自己的选择更新字段。它将大约 30 个变量(如果输入每个字段)传递到“预览页面”。如果此人喜欢预览页面,则他们单击预览页面底部的“更新”按钮,所有各种变量都会更新到适当的 MySQL 表中,其他人看到的他们的“自己的页面”也会动态更新。 (如果这个解释不清楚,请告诉我)。

第一次插入此信息很容易。然而,当用户以后只想更新他页面的几个字段时,这就是我感到困惑的地方。我如何使 MySQL 更新查询动态识别仅对用户想要更新的页面上的字段进行更新(而他将其他字段留空,从而使这些列的旧信息保持不变,并且它们在更新查询)。

如果我的问题不合理,请告诉我,我会再试一次。

感谢您的帮助。

最佳答案

最简单的方法是

UPDATE MyTable m SET m.f1 = COALESCE(input1,m.f1), m.f2 = COALESCE(input2,m.f2), ....
WHERE m.id = key;

COALESCE 将返回第一个非空值(如果所有值为空,则返回 null)。

请注意,如果您想强制使用默认值,可以在现有字段值后插入默认值。
像这样:

UPDATE MyTable m SET m.f1 = COALESCE(input1,m.f1,default1), m.f2 = COALESCE(input2,m.f2,default2), ....
WHERE m.id = key;

参见:MySQL: how to use COALESCE
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce

关于mysql - 动态选择 MySQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14794886/

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