Cum să folosești comanda MySQL "TRUNCATE TABLE"?
Am încercat dbDelta și $wpdb->query, dar nu funcționează. Are cineva vreo idee?
Conform acestui post de pe forum, comanda truncate nu funcționează. Presupun că, deoarece este o interogare destul de distructivă, aceasta este filtrată de către clasă. Există și acest post Trac, care, dacă îl înțeleg corect, interzice instrucțiunile DDL.
@goodseller Nu sunt sigur ce încerci să faci, așa că poate nu este important pentru tine - dar reține că DELETE nu resetează coloanele auto-incrementale. Deci, chiar dacă tabela ta va fi goală, următorul ID de articol va continua de unde a rămas ultima valoare auto-incrementată.
MathSmath
@MathSmath Da~ Așa este, foarte adevărat. Dar există vreo modalitate de a face asta?
goodseller
Am găsit soluția: $wpdb->query("ALTER TABLE tableName AUTO_INCREMENT=0") Mulțumesc @MathSmath :)
goodseller
Știu că există răspunsuri similare mai sus, dar în răspunsurile de mai sus, tabelul wp_post este utilizat și dacă cineva folosește din greșeală acel cod, își va pierde toate articolele.
Deci, împărtășesc o metodă corectă de a trunchia.
global $wpdb;
$table_name = $wpdb->base_prefix.'numele_tabelului_fara_prefix';
$wpdb->query("TRUNCATE TABLE $table_name");