将数据从表复制到表:验证mysql查询

时间:2013-01-09 14:31:59

标签: php mysql validation copy

我如何验证此查询?目前,我得到一些遗漏,其中一行没有复制,所以我需要一个防弹方法来检查和纠正。查询:

$query = "
SELECT * 
FROM $UID
";

$result = mysql_query($query)or die(mysql_error());  

while ($row = mysql_fetch_assoc($result))  {

$q = $row['QID'];
$a = $row['answer'];
$c = $row['comment'];

$query = "
INSERT INTO a (UID, QID, answer, comment)
VALUES ('$UID', '$q', '$a', '$c')
";

mysql_query ($query)or die(mysql_error());
}

感谢。

1 个答案:

答案 0 :(得分:1)

您可以在单个查询中执行此操作。

INSERT INTO a (UID, QID, answer, comment) 
    SELECT '$UID', QID, answer, comment FROM `$UID`

作为原子操作,所有数据将一次性复制。但是,您仍然可以使用mysql_info功能进行验证。它会给出如下的输出。

Records: 23 Duplicates: 0 Warnings: 0 

此处Duplicate是由于重复键而丢弃的行数。如果DuplicatesWarning都是0,您可以说查询成功。