如果数据为空,则通过比较所有列来更新列

mm5n2pyu  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(259)

我遇到了一个场景,我想比较空的列并将数据更新到第一次出现空的列 null 例如:

id  institute_name_1  institute_name_2 institute_name_3 institute_name_4 
   1     xyz                  null          null             null            
   2     abc                  pqr           null             null

现在,如果我想更新添加用户1的机构名称,那么应该是 updateinstitute_name_2 列,如果id为2的用户希望添加institute,则应在 institute_name_3

nkoocmlb

nkoocmlb1#

这张table的设计很糟糕。以下是表格的建议版本,使用相同的数据:

user_id | institute_name
1       | xyz
2       | abc
2       | pqr

也就是说,将用户和机构之间的每个关系存储在单独的记录中。然后,添加或删除关系直接Map到添加或删除记录。
如果您真的需要跟踪哪个用户/机构条目是第一个,第二个,等等,那么您可能应该有一个专门的专栏。也许是 time_inserted datetime列有意义:

user_id | institute_name | time_inserted
1       | xyz            | 2018-10-25 12:00:03
2       | abc            | 2018-10-25 13:55:23
2       | pqr            | 2018-10-25 14:02:00

现在可以使用 time_inserted 提供排序的列。

相关问题