Видаліть усі записи з таблиці MYSQL в phpMyAdmin


122

Я використовую wampserver 2.2. Коли я хочу видалити всі записи таблиці в phpMyAdmin (виділити всі), вона видаляє лише один запис, а не всі записи. Чому він не видаляє всі записи?


3
залежить від вашого запиту, ви виконали так? DELETE FROM tableName
Джон Ву

Виділіть назву таблиці та натиснітьSHIFT-DEL
DevlshOne

Відповіді:


130

Перейдіть до своєї структури db -> і виконайте порожнє в потрібній таблиці. Дивіться тут:

цей скріншот


167

У вас є 2 варіанти deleteі truncate:

  1. delete from mytable

    Це видалить увесь вміст таблиці, не скидаючи автоінкрементаційний ідентифікатор, цей процес відбувається дуже повільно. Якщо ви хочете видалити конкретні записи, додайте в кінці пункт а.

  2. truncate myTable

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


130

На вкладці Sql запустіть один із наведених нижче запитів:

delete from tableName;

Видалити : видалить усі рядки з таблиці. Наступна вставка прийме наступний ідентифікатор автоматичного збільшення.

або

truncate tableName;

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

Детальний блог з прикладом: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/


27

Скористайтеся цим запитом:

DELETE FROM tableName;

Примітка. Щоб видалити якусь конкретну запис, ви також можете задати умову, у якій також є запит у запиті.

АБО ви можете також використовувати цей запит:

truncate tableName;

Також пам’ятайте, що ви не повинні мати жодних стосунків з іншими таблицями. Якщо в таблиці буде якесь обмеження для зовнішнього ключа, то цей запис не буде видалений і призведе до помилки.


19

Ви можете видалити всі рядки за допомогою цієї команди. Але пам’ятайте одне, що після запуску команди усікання ви не зможете її відкатати.

  truncate tableName;

11

"Обрізати tableName" не вдасться у таблиці з визначеним обмеженням ключа. Він також не буде повторно встановити AUTO_INCREMENTзначення таблиці . Натомість видаліть усі записи таблиці та скиньте індексацію назад до 1 за допомогою цього синтаксису sql:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

4

Цікавий факт.

Я був впевнений, що TRUNCATE завжди буде краще, але в моєму випадку для db з приблизно 30 таблицями із зовнішніми ключами, заповненими лише декількома рядками, потрібно було тривати 12 секунд, щоб TRUNCATE всі таблиці, на відміну від декількох сотень мілісекунд Зняти рядки. Встановлення автоматичного збільшення збільшує приблизно секунду, але все-таки набагато краще.

Тож я б запропонував спробувати і те й інше, і подивіться, що працює швидше для вашого випадку.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.