2017-02-06 19 views
0

私は2つのテーブルを持っています。 wp_usersおよびwp_users_backup。単なるコピーです。テーブルは次のようになります。別の表から1列を更新

wp_users 
user_login|user_pass 
user1  |pasword94545 
user2  |pasword5920 

カラムuser_passの値は異なります。 user_login =がテーブルwp_usersと等しいwp_users_backupから列user_passを更新するにはどうすればよいですか?

+1

ウェブサイトの検索機能を使用して同様の問題を検索してください。 StackOverflowは、ヘルプが必要なコードがある場合に役立ちます。 –

答えて

0

あなたはそれを行うにはいくつかの方法があります表現

With ABC 
    AS 
    (
    select a.user_login, a.user_pass as old, b.user_pass as new 
    from wp_users inner as a join wp_users_backup as b 
    on b.user_login = a.user_login 
    ) 
    Update ABC 
    SET ABC.old = ABC.new 

2.using相関クエリ

Update wp_users as a 
set user_pass = (select user_pass from wp_users_backup as b where b.user_login = a.user_login) 
+0

ありがとうございます!ソリューション2は私にとって完璧に機能します! – Badslayer

+0

@Badslayerうれしいことに、最初の1つの構文エラーを修正しました – LONG

+0

テーブル式を定義した後に 'AS'が見つかりませんでした – LONG

0

はこれを試してみてください:

UPDATE wp_users_backup 
SET user_pass = 
(SELECT user_pass FROM wp_users WHERE user_login = wp_users_backup.user_login); 

それは動作するはずです。

0

私はそう
、バックアップテーブルから値を復元したいと考えている、あなたはアップデートでそれを行うことができます参加: 1:使用して、テーブル

UPDATE wp_users a 
    JOIN wp_users_backup b ON a.user_login = b.user_login 
SET a.user_pass = b.user_pass 
関連する問題