sql make 2 update queries 1

时间:2016-07-30 19:07:16

标签: sql mysqli phpmyadmin sql-update

我有两个更新查询,我想从中制作一个,但我无法弄清楚如何?我已经在Stack Overflow上查看了其他一些示例,但我无法让它工作。

你能帮助我吗?

查询1:

  

更新exercise_list SET   ex1 = ex2ex2 = ex3ex4 = NULL   WHERE day_ID = 1 AND user_ID = 4

查询2:

  

更新training_results   SET ex1 = ex2ex2 = ex3ex4 = NULL   WHERE day_ID = 1 AND user_ID = 4

更新: 感谢所有的发型!我已经接受了第一个芒果

4 个答案:

答案 0 :(得分:1)

有两种方法可以实现这一目标:

  1. 使用单个mySqlQuery调用,只需按以下方式调用mySqlQuery函数:

    mySqlQuery(UPDATE exercise_list SET ex1= ex2, ex2= ex3,ex4 = NULL WHERE  
    day_ID= 1 AND user_ID= 4;   
    UPDATE training_results SET ex1= ex2, ex2= ex3,ex4 = NULL WHERE  
    day_ID= 1 AND user_ID= 4;)  
    
  2. 方法2:

    UPDATE exercise_list e_l ,training_results t_r SET  
    e_l.ex1=e_l.ex2, e_l.ex2=e_l.ex3,e_l.ex4=NULL,  
    t_r.ex1=t_r.ex2, t_r.ex2=t_r.ex3,t_r.ex4=NULL  
    WHERE e_l.day_ID = 1 AND e_l.user_ID = 4 AND  
    t_r.day_ID = 1 AND t_r.user_ID = 4;  
    
  3. 希望它有所帮助。

答案 1 :(得分:0)

可以是两个表的内连接

UPDATE exercise_list as a 
INNER JOIN training_results as b ON (a.day_ID = b.day_ID   AND a.user_ID = b.user_ID )
SET ex1= ex2, 
    ex2= ex3,
    ex4 = NULL
WHERE a.user_ID=4
AND a.day_ID = 1

答案 2 :(得分:0)

UPDATE A 
SET A.ex1 = A.ex2
, B.ex1 = B.ex2
, A.ex2 = A.ex3
, B.ex2 = B.ex3
, A.ex4 = NULL
, B.ex4 = NULL
FROM exercise_list A
JOIN training results B on  A.ID = B.ID
WHERE A.day_id = 1 and A.user_id = 4

答案 3 :(得分:0)

可能这个:

UPDATE exercise_list as el, training_results as tr SET  
el.ex1=el.ex2,el.ex2=el.ex3, el.ex4=NULL, tr.ex1=tr.ex2, tr.ex2=tr.ex3, tr.ex4=NULL  
WHERE el.day_ID = 1 AND el.user_ID = 4 AND tr.day_ID = 1 AND tr.user_ID = 4;