0

我正在尝试从 table_a (ptb_registrations) INTO 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 回答