在mysql中使用join进行更新表

时间:2016-09-09 10:19:44

标签: php mysql

我想更新数据库中的字段。 我有两个表格和表格字段如bellow

表格 operations_per_assembly 字段 operation_id,is_mecahnical

表格 operations 字段 id,repair_type_id

现在我要更新is_mechanical = 3

repair_type_id字段

我的查询

 UPDATE 
  `operations_per_assembly` 
   JOIN `operations` 
     ON `operations`.`id` = `operations_per_assembly`.`operation_id` 
   SET `operations_per_assembly`.`is_mechanical` = '4' 
   WHERE `operations_per_assembly`.`operation_id` = `operations`.`id` 
   AND `operations_per_assembly`.repair_type_id = 3 

请帮帮我。

3 个答案:

答案 0 :(得分:1)

将repair_type_id = 3条件放在连接条件中。通过这种方式,您只能在repair_type_id = 3上加入,这样您才能获得这些记录。

  UPDATE 
  `operations_per_assembly` 
   JOIN `operations` 
     ON `operations`.`id` = `operations_per_assembly`.`operation_id` AND `operations`.repair_type_id = 3
   SET `operations_per_assembly`.`is_mechanical` = '4' 

答案 1 :(得分:0)

UPDATE `operations_per_assembly` a
JOIN `operations` b
   ON a.operation_id = b.id
SET a.is_mechanical = '4' 
WHERE codition (user proper condition)

答案 2 :(得分:0)

在您使用WHEREoperations_per_assembly的{​​{1}}子句中,但您的repair_type_id表格中没有operations_per_assembly

请尝试以下查询:

repair_type_id