2017-02-07 10 views
1

何らかのプログラミングは何年も行われていないので、やや錆びます。MySQLクエリが機能しません。INNER JOINの近くに構文エラーがあります

私は2つのテーブルusersテーブルとusers_profilesテーブルを持っています。私はuser_uidが両方のテーブル(users.user_uidusers_profiles.user_uid)と一致し、users.user_login = 'johndoe'users.user_uid = '11'の条件でusers_profilesテーブルを更新したいと思います。

私はダミーデータを追加したことは、PHPスクリプト内で実行されるので、JOHNDOEが実際にユーザーのユーザー名(セッションに保存され、users_uidで同じされているもの。simplicitityのためになる。

私はphpMyAdminの中でクエリを実行してもらいますINNER近くに構文エラーは、私はちょうど私が間違ってやっているかを把握することはできません。(おそらく完全に間違って書いた)に参加し、成功せず、それをうまくしようとしているいくつかの時間を費やしている。

HERESに私のSQLクエリ。

UPDATE 
     users_profiles 
    SET 
     users_profiles.user_fname = 'John', 
     users_profiles.user_lname = 'Doe', 
     users_profiles.user_gender = 'male' 
    INNER JOIN 
     users 
    ON 
     users.user_uid = users_profiles.user_uid 
    WHERE 
     users.user_login = 'johndoe' 
    AND 
     users.user_uid = '11' 

エラーが発生しましたphpmyadminを使用してSQLクエリを実行しているとき

#1064 - You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'ON users.user_uid, .user_uid FROM users_profiles WHERE 
users.user_login ' at line 7 

ありがとうございます。

答えて

0

(役に立つ場合の参照をupvoteしてください)に示すようthis SO answerで、例えば、SETINNER JOINを交換してください:

UPDATE 
     users_profiles p 
    INNER JOIN 
     users u 
    ON 
     u.user_uid = p.user_uid 
    SET 
     p.user_fname = 'John', 
     p.user_lname = 'Doe', 
     p.user_gender = 'male' 
    WHERE 
     u.user_login = 'johndoe' 
    AND 
     u.user_uid = 11 
+0

を、完璧に動作します。ありがとうございました。 – PHPLOVER

1

このお試しください:多くの感謝@StephanLechner

UPDATE 
     users_profiles 
     INNER JOIN 
      users 
     ON 
      users.user_uid = users_profiles.user_uid 
    SET 
     users_profiles.user_fname = 'John', 
     users_profiles.user_lname = 'Doe', 
     users_profiles.user_gender = 'male' 
    WHERE 
     users.user_login = 'johndoe' 
    AND 
     users.user_uid = '11' 
+0

多くの感謝は完璧に働いています。私は@StephanLechnerの回答を受け入れてくれました。 – PHPLOVER

関連する問題