【发布时间】:2021-09-22 12:57:42
【问题描述】:
如何通过检查查询本身来检查表中的字段是否为空,从而对表中的字段执行更新查询。如果它为空,则执行正常更新,否则通过添加带有新值的逗号来更新。
例如:
在表中说users我有一个名为genders的字段。
案例 1: 所选行的字段为空。更新值male。
案例 2: 字段不为空且有值(例如,male)。更新为,female。现在字段值变为male,female。
案例 3: 如果字段不为空且有值,则保持检查以不重复更新。例如,字段有male,female 并且更新查询再次运行,然后它将按照CASE 2 更新male,female,female。应该避免这种情况。
我想在查询本身中执行此操作。关于如何做到这一点的任何想法?
【问题讨论】:
-
不,不,不,不!不要在单个列中存储多个值
-
如果您真的需要,请至少检查w3schools.com/mysql/func_mysql_case.asp 和w3schools.com/mysql/func_mysql_concat.asp 以用于学习目的。
-
@juergend 它最多只能存储 2 个值。没什么大不了。这里不需要标准化。我了解标准化的重要性,但这仅适用于较大的值或记录。