如何在mysql中的两个不同表中更新相同的批处理ID?

时间:2012-10-25 07:01:19

标签: php

$save= mysql_query("update students set bid=(select bid from batches 
    where batches.start_date=students.start_date)"); 

我正在使用这个...... 请帮帮我。

2 个答案:

答案 0 :(得分:1)

尝试:

update students  join batches  
on batches.start_date=students.start_date 
set students.bid=batches.bid

答案 1 :(得分:0)

您可以使用存储过程执行此操作 - 在事务中使用update语句编写存储过程。或者像这样写下你的查询。

编辑:

UPDATE students s, anothertable a
SET s.bid = (select bid from batches 
where batches.start_date=students.start_date),a.bid = (select bid from batches 
where batches.start_date=students.start_date)

编写上述内容的更好方法是

UPDATE students s, anothertable a, batches b
SET s.bid = b.bid, a.bid = b.bid 
where b.start_date=s.start_date;