mysql 3张表关联批量更新
user,company,user_role三张表user_role里面有user表的id,user表里面有company表的id现在想把user_role里面role_...
user,company,user_role 三张表
user_role里面有user表的id, user表里面有company表的id
现在想把user_role里面role_id =1的update_date 批量更新到company 表pass_date中 展开
user_role里面有user表的id, user表里面有company表的id
现在想把user_role里面role_id =1的update_date 批量更新到company 表pass_date中 展开
3个回答
2015-10-21 · 知道合伙人软件行家
关注
展开全部
mysql 3张表关联批量更新:
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:
代码如下:
UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';
如果更新同一字段为同一个值,mysql也很简单,修改下where即可:
代码如下:
UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');
这里注意 ‘other_values' 是一个逗号(,)分隔的字符串,如:1,2,3
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:
代码如下:
UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';
如果更新同一字段为同一个值,mysql也很简单,修改下where即可:
代码如下:
UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');
这里注意 ‘other_values' 是一个逗号(,)分隔的字符串,如:1,2,3
展开全部
USER
--------------------
Id Company_Id
USER_ROLE
--------------------
User_Id Role_Id Update_Date
COMPANY
--------------------
Pass_Date
推荐使用存储过程实现,以下为伪代码实现:
BEGIN
-- 第一步 : 定义游标,查找到所有 满足条件的 公司标识 和 更新时间
SELECT T1.Update_Date , T2.Company_Id
FROM USER_ROLE T1, USER T2
WHERE T1. User_id = T2.Id
AND T1.ROLE_ID = 1
-- 第二步 : 打开游标,遍历 结果集 ,动态执行 Update
UPDATE Company
SET pass_Date =
WHERE Id =
END;
--------------------
Id Company_Id
USER_ROLE
--------------------
User_Id Role_Id Update_Date
COMPANY
--------------------
Pass_Date
推荐使用存储过程实现,以下为伪代码实现:
BEGIN
-- 第一步 : 定义游标,查找到所有 满足条件的 公司标识 和 更新时间
SELECT T1.Update_Date , T2.Company_Id
FROM USER_ROLE T1, USER T2
WHERE T1. User_id = T2.Id
AND T1.ROLE_ID = 1
-- 第二步 : 打开游标,遍历 结果集 ,动态执行 Update
UPDATE Company
SET pass_Date =
WHERE Id =
END;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update_date 时间只有一条记录吗 ? 你是要把 company 表 的所有pass_date字段 都替换?
追问
很多,把user role 为1的 company pass_date更新
追答
额 方便把表截图看一下吧 你表述的 没看明白
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询