插入选择主键在哪里选择每条记录

时间:2013-08-15 14:01:09

标签: mysql select insert primary-key where

我正在尝试将记录从一个表复制到另一个表(并且最终只需单击一下就删除原始记录)我基本上有一个修复跟踪页面,当这些修复完成后我想通过填写一个复选框来删除该记录单击提交按钮,将该记录移动到存档/历史记录表。我已成功复制记录,但每条记录都被复制,我猜这个问题与我的WHERE子句有关

mysql_select_db("testmoverecord", $con);
$id = $_POST['checkbox'];
$sql =("INSERT INTO history (id, firstname, lastname, age)
SELECT repair.id, repair.firstname, repair.lastname, repair.age FROM repair
WHERE id = $id");

echo "<input type='checkbox' id='checkbox' value='{$row['id']}' name='checkbox'"; 

如何正确传递ID?我尝试了WHERE repair.id = history.id,但它显示了Unknown列,即使它存在。我已经尝试为id输入一个隐藏的输入并发布id,但没有让它们工作。我正在使用mysql,它是开放注射等等等等,保存自己的输入,我打算很快更新,它不能被远程触摸,它的存储数据甚至不是很敏感所以我不介意。有人可以指点我正确的方向吗?感谢您的帮助。

已编辑:此代码有效

1 个答案:

答案 0 :(得分:0)

$sql = sprintf("INSERT INTO history (id, firstname, lastname, age)
    SELECT * FROM repair
    WHERE id = '%s'",
    mysql_real_escape_string($id));