Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie dużej ilości rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
yalus
witam

mam takie pytanie, czy jest jakiś inny sposób na usunięcie dużej ilości rekordów np. 2000, niż ten poniżej:

  1. DELETE FROM tabela WHERE id='1';
  2. DELETE FROM tabela WHERE id='2';
  3. .
  4. .
  5. .
  6. DELETE FROM tabela WHERE id='2000';


poprostu chcialbym usunac okolo 2000 rekordow w miare szybko i 'bez bolesnie' a wypisywanie 2 tysiecy lini to chyba do takiego sposobu nie nalezy. wiem ze moge sobie wygenerowac caly skrypt uzywajac np. makra w excelu ale to chyba nie o to chodzi

z gory bardzo dziekuje za pomoc
nospor
  1. DELETE FROM tabela WHERE id<=2000;

  1. DELETE FROM tabela WHERE id IN (1,2,3,4,......2000);
yalus
dzieki

a tak na marginesie
czy ten zapis ma jakies ograniczenia?

bo wpisujac:
  1. DELETE FROM tabele WHERE id IN ('1','2',...'2000')


wszystkie 2000 wartosci id przy pewnej liczbie mi sie wysypuje dlatego musialem podzielic :

  1. DELETE FROM tabele WHERE id IN ('1',...'500');
  2. DELETE FROM tabele WHERE id IN ('501',...'1000');
  3. .
  4. .
nospor
jedyne ograniczenie to dlugosc zapytania mysql.
NIe dawa apostrofow na id - przeciez to liczby!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.