sql-update
  • union
  • 2012-10-06 3 views 1 likes 
    1

    여러 테이블을 검사하는 큰 쿼리를 작성하는 것이 처음입니다.UNION을 사용하는 SQL 쿼리

    $sql = mysql_query("UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email' UNION UPDATE users SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'") or die(mysql_error()); 
    

    을 내가 잘못 뭐하는 거지 :

    $result = mysql_query("SELECT * FROM companies WHERE email='$email' UNION SELECT * FROM users WHERE email='$email'") or die(mysql_error()); 
    

    는 그러나, 나는이 작동하지 않습니다이 UPDATE 쿼리를 사용하여 편집 페이지를하고있는 중이 야 : 나는 잘 작동이 SELECT 쿼리가?

    답변

    4

    업데이트 문을 함께 결합 할 수 없습니다. 별도의 명령으로 분할하면됩니다. 즉, 기업 및 사용자를 위해 두 가지 쿼리를 실행합니다.

    +0

    감사합니다 ... 몰랐습니다. 현재 나는'$ email = $ _SESSION [ 'email']'을 가지고있어서 질의는 이메일을 발견 한 테이블을 갱신한다. 그래서 내가 먼저 선택 쿼리를 누른 다음 두 테이블에 대한 업데이 트를해야할까요? – robk27

    0

    귀하의 질문에 따라 두 업데이트를 업데이트 할 수 있습니다 당신이 선택하고 $ 이메일이 존재하는 테이블을 찾을 수 있습니다

    $sql1="UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'"; 
    $sql2="UPDATE users SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email"; 
    

    또는

    .

    sql1="select name form user where email=$email " 
    sql2="select name form companies where email=$email " 
    if(count($sql1>0)){ 
    UPDATE user SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email' 
    } 
    if(count($sql2>0)){ 
    UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email' 
    } 
    
    관련 문제