我有一个从 rss 文件导入数据的脚本,我想在插入之前清空我的表,所以我的数据库中没有任何旧条目,但我无法正确使用语法,因为没有任何内容被删除。
这是我正在尝试的:
try {
$db->beginTransaction();
$stmt = $db->prepare("DELETE FROM $table");
$stmt = $db->prepare("INSERT INTO $table(id,name) VALUES(:id,:name)ON DUPLICATE KEY UPDATE name=:name");
$stmt->execute(array(':id' => $id, ':name' => $name));
$db->commit();
} catch(PDOException $ex) {
//Something went wrong rollback!
$db->rollBack();
echo $ex->getMessage();
}
编辑
我曾尝试使用 Truncate,但认为我需要删除,因为 truncate 不会清空/删除任何内容:
try {
$db->beginTransaction();
$stmt = $db->prepare("TRUNCATE TABLE $table");
$stmt = $db->prepare("INSERT INTO $table(id,name) VALUES(:id,:name)ON DUPLICATE KEY UPDATE name=:name");
$stmt->execute(array(':id' => $id, ':name' => $name));
$db->commit();
} catch(PDOException $ex) {
//Something went wrong rollback!
$db->rollBack();
echo $ex->getMessage();
}