0

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

$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());
}

谢谢。

4

1 回答 1

1

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

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

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

Records: 23 Duplicates: 0 Warnings: 0 

这里 Duplicate 是由于重复键而丢弃的行数。如果两者Duplicates都是Warning0可以说查询成功。

于 2013-01-09T14:39:26.213 回答