Я использую wampserver 2.2. Когда я хочу удалить все записи таблицы в phpMyAdmin (выберите все), она удалит только одну запись не всех записей. Почему он не удаляет все записи?
Удалить все записи в таблице MYSQL в phpMyAdmin
Ответ 1
Перейдите в структуру db → и сделайте пустое значение в требуемой таблице. См. Здесь:
Ответ 2
У вас есть 2 варианта delete
и truncate
:
1) delete from mytable
:
Это приведет к удалению всего содержимого таблицы, а не к реестру автоинкрементного идентификатора, этот процесс выполняется очень медленно. Если вы хотите удалить определенные записи, добавьте предложение where в конце.
2) truncate myTable
: Это будет reset таблица, то есть все автоматические инкрементные поля будут reset. Это DDL и очень быстро. Вы не можете удалить какую-либо конкретную запись через truncate
Ответ 3
Перейдите на вкладку Sql, выполнив один из следующих запросов:
delete from tableName;
Delete: удалит все строки из вашей таблицы. Следующая вставка примет следующий идентификатор автоматического увеличения.
или
truncate tableName;
Truncate: также удалит строки из вашей таблицы, но он начнется с новой строки с 1.
Подробный блог с примером: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
Ответ 4
Используйте этот запрос:
DELETE FROM tableName;
Примечание. Чтобы удалить определенную запись, вы также можете указать условие в предложении where в запросе.
ИЛИ вы также можете использовать этот запрос:
truncate tableName;
Также помните, что у вас не должно быть никаких отношений с другой таблицей. Если в таблице будет какое-либо ограничение внешнего ключа, то эта запись не будет удалена и даст ошибку.
Ответ 5
Вы можете удалить все строки с помощью этой команды. Но помните одно: когда вы используете команду truncate, вы не можете отменить ее.
truncate tableName;
Ответ 6
"Truncate tableName" выйдет из строя в таблице с установленным ограничением ключа. Он также не будет переопределять значение таблицы AUTO_INCREMENT
. Вместо этого удалите все записи таблицы и reset индексирование назад к 1, используя этот синтаксис sql:
DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1
Ответ 7
Интересный факт.
Я был уверен, что TRUNCATE всегда будет работать лучше, но в моем случае для db с примерно 30 таблицами с внешними ключами, заполненными всего несколькими строками, потребовалось около 12 секунд, чтобы TRUNCATE все таблицы, а не только несколько сотен миллисекунд, чтобы УДАЛИТЬ строки. Установка автоматического приращения добавляет около секунды, но все же намного лучше.
Поэтому я бы предложил попробовать оба, посмотреть, что работает быстрее для вашего дела.
Ответ 8
напишите запрос: truncate 'Your_table_name';