mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?
具體來說,我需要從表中刪除一些行,同時迭代表中的所有行. DBI在Java中有類似可更新結果集的東西嗎?所以,如果我這樣做:
$query_all = $dbh->prepare("select Id, X, Y, Z from MyTable");
$delete = $dbh->prepare("delete from MyTable where Id = ?");
$query_all->execute();
while ( my @res = $query_all->fetchrow_array() ){
my ($id, $x, $y, $z) = @res;
# fetch the IDs of any other rows that have the same X, Y, Z values
foreach ( the_duplicate_ids ){
$delete->execute($dup_id); # safe ??
# also delete from another table using $dup_id
}
}
…這可以嗎?
只是為了給出一些上下文,我將刪除具有相同X,Y,Z列值的重復行,并且在每種情況下只留下一行(找到第一行).如果這就是我所做的,我只是在這3列上設置一個唯一索引來消除重復,但我還需要從另一個表中刪除從MyTable中刪除的每個重復的行.
最后,我編寫了一個腳本來識別和收集我需要刪除到數組中的行的所有ID,然后迭代該數組,刪除兩個表中的相關行.我仍然有興趣找到原始問題的答案.如果我有時間,我會嘗試自己回答,但如果有人已經知道我想聽聽它.
總結
以上是生活随笔為你收集整理的mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: datastage配置jdbc_Data
- 下一篇: 找到符合条件的索引_高频面试题:MySQ