Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Truncate Table Con Le Foreing Key

    Sto tentando di fare un truncate di una tabella.. senza successo.

    Sinceramente son perplesso... se la tabella di riferimento è vuota, e non ci sono perciò chiavi
    legate alla tabella da truncare perchè si arrabbia?

    Comunque a parte questo.. ho provato tramite riga di comando a fare 3 prove diverse

    SET foreign_key_constraints = 0;
    truncate tbl_comuni
    SET foreign_key_constraints = 1;

    ERRORE
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near '▬
    SET foreign_key_constraints = 0' at line 1

    --------------------------------------

    SET @SESSION.foreign_key_constraints = 0;
    truncate tbl_comuni
    SET @SESSION.foreign_key_constraints = 1;

    SUCCESS:
    Query OK, 0 rows affected (0.00 sec)

    ERROR:
    ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constrai
    nt (`puntore`.`tbl_localitazone`, CONSTRAINT `fk_tbl_localitazone_tbl_comuni1` F
    OREIGN KEY (`tbl_comuni_idtbl_comuni`) REFERENCES `puntore`.`tbl_comuni` (`idtbl
    _comuni`))

    --------------------------------------

    foreign_key_checks = 0;
    truncate tbl_comuni
    foreign_key_checks = 1;

    ERROR:
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near 'forei
    gn_key_checks = 0' at line 1

    --------------------------------------

    qualcuno sa darmi indicazioni?

  2. #2
    mi sembra che non sia permesso "by design". puoi solo fare una DELETE totale

  3. #3
    Originariamente inviato da optime
    mi sembra che non sia permesso "by design". puoi solo fare una DELETE totale
    che intendi "by design" ?

    io per crearlo ho usato mysql workbench a livello grafico e poi importato in phpmyadmin

    Altra domanda...

    Il db lo sto usando il locale.. con easyphp, che installa appunto phpmyadmin.

    E' normale che se faccio un mostra, o una delete di 2000/3000 record si impalla tutto?
    Neanche fossero 10.000... a me non sembrano poi molti 2000/3000 record, c'è qualcosa da impostare per farglieli digerire?
    Se quando devo svuotare una tabella non posso usare truncate.. e devo fare un delete di 500 record alla volta.. è un massacro..

  4. #4
    "by design" vuol dire che è così per una precisa scelta progettuale.

    per la lentezza non so cosa dirti, io uso normalmente M$SQL, e cancello milioni di record in pochi secondi. ovvio, da comando, non da interfaccia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.