Удалить все записи в таблице MYSQL в phpMyAdmin



Я использую wampserver 2.2. Когда я хочу удалить все записи таблицы в phpMyAdmin (выберите все) он удаляет только одну запись не все записи. Почему он не удаляет все записи?

569   8  

8 ответов:

перейдите в свою структуру db -> и сделайте пустую в требуемой таблице. Смотрите здесь:

this screenshot

у вас есть 2 варианта delete и truncate:

  1. delete from mytable

    это удалит все содержимое таблицы, не сбрасывая автоинкрементный идентификатор, этот процесс очень медленный. Если вы хотите удалить определенные записи, добавьте предложение where в конце.

  2. truncate myTable

    это приведет к сбросу таблицы, т. е. все авто добавочные поля будут сброшены. Его DDL и его очень быстро. Вы не можете удалить какие-либо конкретные запись через truncate.

перейдите на вкладку Sql выполните один из следующих запросов:

delete from tableName;

удалить: удаляет все строки из таблицы. Следующая вставка будет принимать следующий идентификатор автоматического приращения.

или

truncate tableName;

усечь: также удалит строки из таблицы, но он будет начинаться с новой строки с 1.

подробный блог с примером:http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

используйте этот запрос:

DELETE FROM tableName;

Примечание: чтобы удалить некоторую конкретную запись, вы можете также указать условие в предложении where в запросе.

или вы можете использовать этот запрос:

truncate tableName;

также помните, что вы не должны иметь никаких отношений с другой таблицей. Если в таблице будет какое-либо ограничение внешнего ключа, то эта запись не будет удалена и выдаст ошибку.

вы можете удалить все строки с этой командой.Но помните одну вещь, что как только вы используете команду усечения, вы не можете ее откатить.

  truncate tableName;

'усечь имя таблицы' не удастся на таблице с определенным ограничением ключа. Он также не будет переиндексировать таблицу AUTO_INCREMENT значение. Вместо этого удалите все записи таблицы и сбросьте индексацию до 1, Используя этот синтаксис sql:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

интересный факт.

Я был уверен, что усечение всегда будет работать лучше, но в моем случае для БД с приблизительно 30 таблицами с внешними ключами, заполненными только несколькими строками, потребовалось около 12 секунд, чтобы усечь все таблицы, а не только несколько сотен миллисекунд, чтобы удалить строки. Установка автоматического приращения добавляет около секунды в общей сложности, но это все еще намного лучше.

поэтому я бы предложил попробовать оба, посмотреть, что работает быстрее для вашего случая.

написать запрос: усечь 'Your_table_name';

Comments

    Ничего не найдено.