Verwijder alle records in een tabel van MYSQL in phpMyAdmin

Ik gebruik wampserver 2.2. Wanneer ik alle records van een tabel in phpMyAdmin wil verwijderen (selecteer alles), verwijdert het slechts één record, niet alle records. Waarom worden niet alle records verwijderd?


Antwoord 1, autoriteit 100%

Ga naar uw db -> structuur en leeg in de vereiste tabel.
Zie hier:


Antwoord 2, autoriteit 92%

Je hebt 2 opties deleteen truncate:

  1. delete from mytable

    Hiermee wordt alle inhoud van de tabel verwijderd en wordt de autoincrementele id niet opnieuw ingesteld. Dit proces is erg traag. Als u specifieke records wilt verwijderen, voeg dan een waar-clausule toe aan het einde.

  2. truncate myTable

    Hiermee wordt de tabel gereset, d.w.z. alle automatische incrementele velden worden gereset. Het is een DDL en het is erg snel. U kunt geen specifieke record verwijderen via truncate.


Antwoord 3, autoriteit 93%

Ga naar het Sql-tabblad en voer een van de onderstaande zoekopdrachten uit:

delete from tableName;

Verwijderen: verwijdert alle rijen uit uw tabel. Volgende invoeging heeft de volgende automatische verhogings-ID.

of

truncate tableName;

Truncate: verwijdert ook de rijen van uw tafel, maar deze begint vanaf een nieuwe rij met 1.

Een gedetailleerde blog met een voorbeeld: http://sforsuresh.in/phpmyadmin-deleting -rows-mysql-table/


Antwoord 4, autoriteit 23%

Gebruik deze zoekopdracht:

DELETE FROM tableName;

Opmerking: om een specifiek record te verwijderen, kunt u de voorwaarde ook in de where-component in de query opgeven.

OF u kunt deze zoekopdracht ook gebruiken:

truncate tableName;

Onthoud ook dat u geen enkele relatie met een andere tabel mag hebben. Als er een externe sleutelbeperking in de tabel is, wordt die record niet verwijderd en wordt de fout weergegeven.


Antwoord 5, autoriteit 16%

Je kunt alle rijen verwijderen met deze opdracht. Maar onthoud één ding dat als je de opdracht truncate eenmaal hebt uitgevoerd, je het niet meer kunt terugdraaien.

 truncate tableName;

Antwoord 6, autoriteit 10%

‘Truncate tableName’ zal mislukkenvoor een tabel waarvoor een sleutelbeperking is gedefinieerd. Het zal ook de tabel AUTO_INCREMENTwaarde niet opnieuw indexeren. Verwijder in plaats daarvan alle tabelvermeldingen en reset indexering terug naar 1 met behulp van deze sql-syntaxis:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

Antwoord 7, autoriteit 3%

Een interessant feit.

Ik was er zeker van dat TRUNCATE altijd beter zou presteren, maar in mijn geval, voor een database met ongeveer 30 tabellen met externe sleutels, gevuld met slechts een paar rijen, duurde het ongeveer 12 seconden om alle tabellen te TRUNCATE, in tegenstelling tot slechts een paar honderd milliseconden om de rijen te VERWIJDEREN. Het instellen van de automatische verhoging voegt in totaal ongeveer een seconde toe, maar het is nog steeds een stuk beter.

Dus ik raad aan om beide te proberen, om te zien welke in jouw geval sneller werkt.


Antwoord 8

schrijf de vraag:
‘Your_table_name’ afkappen;


Antwoord 9

  • Bezoek phpmyadmin
  • Selecteer uw database en klik op structuur
  • Voor je tafel zie je Leeg, klik erop om alle items van de geselecteerde tafel te wissen.

Of je kunt hetzelfde doen met sql-query:

Klik op SQLnaast Structuur

TRUNCATE tablename; //offers better performance, but used only when all entries need to be cleared
or
DELETE FROM tablename; //returns the number of rows deleted

Raadpleeg VERWIJDERENen TRUNCATEvoor gedetailleerde documentatie

Other episodes