使用phpMyAdmin操作MySQL資料庫,有一個很好用但要小心用的『清空』功能(Truncate)。
但在SQLite Database Browser上操作SQLite資料庫檔案,要一次清空資料表中的資料,似乎不是這麼方便?
在沒有找到更好的方法前,先用php的PDO存取方式,寫個迴圈,用delete的方式,逐筆清空資料表的紀錄。雖然不是個好方法,但是個可以達到目的的方法,紀錄下來當個範例用。
<?php
//指定SQLite的來源,資料庫檔案empty.db3和程式碼放在同一目錄下
$zDsn = 'sqlite:empty.db3';
//共有1000筆資料
$nEnd = 1001;
//根據elementary資料表的oid欄位,逐筆讀取資料庫
for ($i=1;$i<$nEnd;$i++) {
//使用PDO連接資料庫
$oConn = new pdo($zDsn,"","");
$zSQL = "delete from elementary where oid=".$i;
$oResult = $oConn->exec($zSQL);
if (!$oResult){
echo "資料刪除發生錯誤!<br>";
echo $zSQL;
exit();
}
$oConn = null;
}
?>
沒有留言:
張貼留言