mysql> SELECT Ext, Pass, Name, Context FROM temp_Users WHERE temp_Users.Pass NOT IN (SELECT Pass FROM Users);
+------+-------+---------+------------+
| Ext | Pass | Name | Context |
+------+-------+---------+------------+
| 6003 | Hello | WebPone | DLPN_Admin |
+------+-------+---------+------------+
1 row in set (0.00 sec)
mysql> UPDATE Users
-> SET (Pass, Name, Context) = (SELECT Pass, Name, Context FROM temp_Users WHERE temp_Users.Pass NOT IN (SELECT Pass FROM Users))
-> WHERE Users.Ext = temp.Ext;
ERROR 1064 (42000): 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 '(Pass, Name, Context) = (SELECT Pass, Name, Context FROM temp_Users WHERE temp_' at line 2
私は選択結果からデータベースを更新したいと思います。このエラーが発生しています。どうすれば解決できるのか教えてください。私のデータベースをSelect resultから選択してください
失礼ではないことが、しかし、あなたの試みは似ても似つかなかった:私はあなたがこのような何かをしたいと思います。実際の構文が何であるかをチェックするのではなく、構文が欲しいと思ったものを書いたようです(http://dev.mysql.com/doc/refman/5.0/en/update.html)... –
@MichaelFredrickson:すべての公平さには、OPのような構文をサポートするDBMSがいくつかあります。彼が "MySQL"アップデートステートメントではなく "SQL"アップデートステートメントでグーグルグーグルを行った場合、彼はそのようなもので終わったはずです。 (異なるSQL方言がどのように異なっているかは誰もが知っているわけではない) – ruakh
@ruakh面白い。私の好奇心のために、どのSQL方言が許すのか知っていますか? –