复制表时mysql问题

时间:2013-09-24 10:46:33

标签: php mysql insert

我有3张桌子。调用:result,project,save_result。

mysql_query('insert_into project (user_id, project_id)
    VALUES('.$_SESSION['id'].', $_POST['pr_id'])
    ');

$last_id=mysql_insert_id();

现在,我想将表result(user_id,status_id)复制到另一个表 save_result(project_id,user_id,status_id)

在下面使用此方法会错过project_id。如何将$ last_id插入行project_id

  mysql_query(
    'INSERT INTO
      save_result (project_id, user_id, status_id)
    SELECT
      * 
    FROM
      result
    WHERE
      user_id='.$_SESSION['id'].'
      ');

我不想使用mysql_fetch_array。也不要再次更新此表插入project_id。

1 个答案:

答案 0 :(得分:0)

mysql_query(
"INSERT INTO
  save_result (project_id, user_id, status_id)
SELECT
  '". $last_id ."' as project_id, * 
FROM
  result
WHERE
  user_id='.$_SESSION['id'].'
  ');

将$ lastId作为常量传递给查询作为第一个值[因为projectid是字段列表中的第一个值] ...