我有两个表 user 和 user_secondary。我必须获取几列并存储在 user_secondary 中。现在这两个表有一行让我们说 - 用户可以稍后更新然后保存它的性别。但是此条目在 user_secondary 中存储为 null。现在我必须针对我的 user_secondary 表中的用户更新这个性别字段。我该怎么做?
由于性别字段为空值,因此无法定义键约束。
UPDATE user_secondary
JOIN user ON user.id=user_secondary.id
SET user_secondary.gender=user.gender
WHERE user_secondary.gender IS NULL;
请问,这两张表是怎么关联的?无论如何,这段代码可以作为一个示例:
UPDATE user_secondary
SET user_secondary.GENDER = (SELECT user1.usergender FROM user1
WHERE user1.userid = user_secondary.id)
where user_secondary.GENDER IS NULL
遍历每个用户行,如果该字段为空,则执行一个简单的查询以从 user_secondary 表中获取它。然后使用该数据在用户表上运行更新语句。