Tabelle e Storage
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint. – MySQL 1701
L'operazione DDL ad alte prestazioni `TRUNCATE TABLE` è vietata sulle tabelle referenziate da chiavi esterne attive di altre tabelle; richiede l'esecuzione di `DELETE FROM tabella` oppure la disabilitazione temporanea con `FOREIGN_KEY_CHECKS=0`.
Cosa significa questo errore?
L'operazione DDL ad alte prestazioni `TRUNCATE TABLE` è vietata sulle tabelle referenziate da chiavi esterne attive di altre tabelle; richiede l'esecuzione di `DELETE FROM tabella` oppure la disabilitazione temporanea con `FOREIGN_KEY_CHECKS=0`.
Messaggio originale
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint.Contesto e parole chiave
Alias
- 1701
- ER_TRUNCATE_ILLEGAL_FK
Messaggi alternativi
- impossibile eseguire truncate su tabella referenziata da vincolo foreign key
Prodotti
- MySQL Server / Percona Server / MariaDB / InnoDB Engine
Piattaforme
- Linux
- macOS
- Multipiattaforma
- Windows Server
Parole chiave
- 1701
- database
- errore-mysql-1701-cannot-truncate-table-referenced-by-foreign-key
- innodb
- mysql
- mysql.tabelle.1701-cannot-truncate-referenced-by-fk
- Tabelle e Storage
Cause possibili
Origine del problema per MySQL: Errore 1701 — TRUNCATE non consentito su tabella con Foreign Key
L'operazione DDL ad alte prestazioni `TRUNCATE TABLE` è vietata sulle tabelle referenziate da chiavi esterne attive di altre tabelle; richiede l'esecuzione di `DELETE FROM tabella` oppure la disabilitazione temporanea con `FOREIGN_KEY_CHECKS=0`.
molto comuneDiagnosi
Ispezione diagnostica MySQL per MySQL: Errore 1701 — TRUNCATE non consentito su tabella con Foreign Key
Eseguire comandi di controllo di stato nel client MySQL o consultare il file di log degli errori /var/log/mysql/error.log.
Come leggere il risultato. Mostra lo stato interno di lock, transazioni in corso o errori di allocazione e vincoli relazionali.
SHOW ENGINE INNODB STATUS\GRisoluzione
Procedura di risoluzione per MySQL: Errore 1701 — TRUNCATE non consentito su tabella con Foreign Key
Applicare la correzione al database o alla query secondo le best practice di amministrazione MySQL.
- Ispezionare la sintassi della query o la configurazione delle variabili
- Regolare i parametri in my.cnf o correggere i vincoli DDL
- Testare nuovamente la connessione o l'esecuzione della transazione
Domande frequenti
Come risolvere il codice 1701 in MySQL?
L'operazione DDL ad alte prestazioni `TRUNCATE TABLE` è vietata sulle tabelle referenziate da chiavi esterne attive di altre tabelle; richiede l'esecuzione di `DELETE FROM tabella` oppure la disabilitazione temporanea con `FOREIGN_KEY_CHECKS=0`.
Approfondimenti
- MySQL Server Error Reference - Oracle Documentation documentazione_ufficiale