sql >> Databasteknik >  >> RDS >> Mysql

Hur trunkerar man en tabell med hjälp av förberedd sats i MySQL?

NEJ, En förberedd sats skulle inte vara en lösning eftersom det inte är möjligt att binda tabellnamnet. Undvik därför att använda förberedd sats för Truncate Table.

Du kan inte binda någon SQL litera Jag men data ett. Så nyckelord, operatorer och någon identifierare kan inte bindas med förberedda uttalanden. Du kan bara binda data.

PDO-förberedda satser är användbara när du kör frågor med användarinmatning eftersom de låter dig använda funktioner som bundna parametrar för att rensa användarinmatning.

Så i mitt förslag bör du inte använda förberedda uttalanden för att trunkera tabellen.

Om du verkligen vill trunkera med preparerad , Använd koden för Opencart som du använder:

$sql = sprintf('TRUNCATE TABLE %s%s', DB_PREFIX, $table);
$this->db->query($sql); 

försök med detta en gång och låt mig veta



  1. FEL 2003 (HY000):Kan inte ansluta till MySQL-servern på localhost (10061)

  2. MariaDB JSON_INSERT() Förklarad

  3. odefinierat indexfel från en php arrya

  4. Någon som känner till en bra PHP ORM som INTE använder PDO?