2013-08-16 19 views
82

Używam wampserver 2.2. Kiedy chcę usunąć wszystkie zapisy tabeli w phpMyAdmin (wybierz wszystko), usuwa tylko jeden rekord, nie wszystkie rekordy. Dlaczego nie usuwa wszystkich rekordów?Usuń wszystkie rekordy w tabeli MYSQL w phpMyAdmin

+3

zależy od zapytania, czy wykonałeś w ten sposób? 'DELETE FROM tableName' –

+0

Podświetl nazwę tabeli i naciśnij' SHIFT-DEL' – DevlshOne

Odpowiedz

94

przejdź do db -> structure i wykonaj puste w wymaganej tabeli. Zobacz tutaj:

this screenshot

22

Użyj tego zapytania:

DELETE FROM tableName; 

Uwaga: Aby usunąć jakiś konkretny rekord można dać warunek w klauzuli WHERE w zapytaniu także.

lub można użyć tej kwerendy także:

truncate tableName; 

Należy również pamiętać, że nie należy mieć żadnych relacji z drugim stole. Jeśli w tabeli znajdzie się jakiekolwiek ograniczenie obce, to rekord ten nie zostanie usunięty i spowoduje błąd.

114

Masz 2 opcje delete i truncate:

1) delete from mytable: To usunie całą zawartość tabeli, nie resetowanie się autoincremental id, proces ten jest bardzo powolny. Jeśli chcesz usunąć określone rekordy dopisz klauzulę where na końcu.

2) truncate myTable: Spowoduje to zresetowanie tabeli, tzn. Wszystkie pola przyrostowe zostaną zresetowane. Jest to DDL i bardzo szybki. Nie można usunąć żadnego konkretnego rekordu przez truncate

101

przejdź do zakładki metę jednym z poniższym zapytaniu SQL:

delete from tableName; 

Delete: usunie wszystkie wiersze z tabeli. Następna wstawka pobierze następny identyfikator automatycznej inkrementacji.

lub

truncate tableName; 

Truncate: będzie również usunąć wiersze z tabeli, ale zacznie od nowego wiersza z 1.

Szczegółowy blogu przykład: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

4

Interesującym faktem.

Byłem pewien, że TRUNCATE będzie zawsze działał lepiej, ale w moim przypadku, dla bazy danych z około 30 tabelami z kluczami obcymi, wypełnionymi tylko kilkoma rzędami, zajęło to około 12 sekund, aby TRUNCATE wszystkie tabele, w przeciwieństwie do tylko kilkaset milisekund do USUŃ wiersze. Ustawienie automatycznego przyrostu dodaje około sekundy, ale wciąż jest o wiele lepiej.

Proponuję więc spróbować obu, zobacz, które działa szybciej w twoim przypadku.

12

Możesz usunąć wszystkie wiersze za pomocą tego polecenia.Ale zapamiętaj jedną rzecz, która po użyciu polecenia obcięcia nie można jej przywrócić.

truncate tableName; 
8

'Obetnij tableName' zawiedzie w tabeli z kluczem ograniczenia zdefiniowane. Nie będzie również ponownie indeksu tabeli wartości AUTO_INCREMENT. Zamiast Usuń wszystkie wpisy tabeli i zresetować indeksowanie z powrotem do 1 przy użyciu tej składni SQL:

DELETE FROM tableName; 
ALTER TABLE tableName AUTO_INCREMENT = 1 
1

napisać kwerendę: skróconego „Your_table_name”;

Powiązane problemy