如何更新从另一个表的默认空值列中选择值的表的列?

时间:2013-02-28 07:57:03

标签: mysql sql

我有两个表user和user_secondary。我必须获取几列并存储在user_secondary中。现在这两个表有一行 - 比如性别,用户可以稍后更新然后保存它。但是这个条目在user_secondary中存储为null。现在,我必须在user_secondary表中针对用户更新此性别字段。我该怎么做?

无法定义关键约束,因为性别字段为空值。

3 个答案:

答案 0 :(得分:1)

UPDATE user_secondary
JOIN user ON user.id=user_secondary.id 
SET user_secondary.gender=user.gender 
WHERE user_secondary.gender IS NULL;

答案 1 :(得分:1)

对不起,这两张表是如何相关的?无论如何,这段代码可以作为样本:

UPDATE user_secondary
SET user_secondary.GENDER = (SELECT user1.usergender FROM user1 
                             WHERE user1.userid = user_secondary.id)
where user_secondary.GENDER IS NULL

答案 2 :(得分:0)

循环遍历每个用户行,如果该字段为空,请执行简单查询以从user_secondary表中获取它。然后使用该数据在用户表上运行更新语句。