2014-07-14 73 views
0

我有两个表'Cast'和'Roles'。表'Cast'字段是Id,castName,castID,roleId。表'角色'的字段是Id,castId,role_Id使用另一个表中的数据更新大型mysql表

我想更新表'角色'中的role_Id,它在表中'null',在'Cast'表中等于'1'。

这是我写的:

UPDATE Roles 
INNER JOIN Cast on (Cast.castID = Roles.castId) 
SET Roles.role_Id = '2' 
WHERE Roles.role_Id IS NULL AND Cast.roleId = '1'; 

有人能帮助我了解什么是与此查询的问题,我怎样才能更新表“角色”?

+0

你那里条件时,根据您的表中的数据满足条件 – Sadikhasan

回答

1

我puted Cast.roleId = '1'条件在草案第

UPDATE Roles 
INNER JOIN Cast on 
Cast.castID = Roles.castId AND Cast.roleId = '1' 
SET Roles.role_Id = '2' 
WHERE Roles.role_Id IS NULL; 
+0

它没有与我的查询:(不同的结果(其实我不知道如果我的查询是错误的,因为当我跑它时,它的工作,但我的疑问是因为它只影响了约5000行,而我期望更多) – mOna

+0

所以,更新查询之前,你必须编写'Select'查询确认如果返回预期的记录,那么你可以申请更新查询 – Sadikhasan

+0

为您的答案选择查询返回空集 – mOna

相关问题