0

table_a (ptb_registrations) からいくつかの列を table_b (ptb_users) に挿入しようとしています。

現時点では、テーブル a からテーブル b の列を更新するこのクエリがありますが、現在 ptb_users に格納されている既存の情報を上書きする代わりに、新しい行を挿入したいと考えています。

私のテーブル ptb_users は次のようになります。

id (auto inc)    |   first_name   |         email   
     1                  john            john@email.com   

...そして私のテーブル ptb_registrations は次のようになります:

id (auto inc)    |   firstname   |         email   
     2                  eric            john@email.com   

それでは、ptb_registrations の列 firstname と email を新しい行として ptb_users.first_name と ptb_users.email に挿入したいと思いますか?

誰かが私を正しい方向に向けることができますか?

これは更新時に動作します

$query = "UPDATE ptb_users
SET first_name = (
  SELECT firstname
  FROM ptb_registrations
)";

mysql_query($query)or die('Could not update members: ' . mysql_error());

私が試してみました:

$query = "INSERT INTO ptb_users.first_name = (
  SELECT firstname
  FROM ptb_registrations
)";

mysql_query($query)or die('Could not update members: ' . mysql_error());
4

2 に答える 2

0

MySQL http://dev.mysql.com/doc/refman/5.5/en/insert.htmlでINSERTを文書化するリンクがあります

  INSERT INTO ptb_users (first_name, email)
  SELECT firstname, email
  FROM ptb_registrations;
于 2013-03-14T16:55:56.360 に答える
0

次のように挿入ステートメントを実行する必要があります。

INSERT INTO ptb_users (firstname)
  SELECT firstname
  FROM ptb_registrations
于 2013-03-14T16:56:25.790 に答える