Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zablokowane tabele w sql
Forum PHP.pl > Forum > PHP
Apo
Witam
Napisałem tranzakcje na proces kasowania danych z tabel:

  1. <?php
  2. if($this->stan !== false)
  3. {
  4.  db::query('START TRANSACTION');
  5. foreach(array('budynki', 'lokale', 'domy') as $klucz => $wpis)
  6. {
  7. if(!db::query('TRUNCATE TABLE '.$wpis))
  8. {
  9. db::query('ROLLBACK');
  10. echo '<h2>Błąd! Nie można wgrać bazy</h2>';
  11. $a = true;
  12. }
  13. }
  14. $this->stan = false;
  15.  
  16. if($a)
  17. return false;
  18. else db::query('COMMIT');
  19.  }
  20. ?>


I za każdym razem gdy chce uruchomić skrypt to wywala mi błąd:
Can't execute the given command because you have active locked tables or an active transaction
W manualu znalazłem takie coś odnośnie transakcji i truncate table:
http://dev.mysql.com/doc/refman/4.1/en/implicit-commit.html

Pozdrawiam
erix
Cytat
active locked tables

wczesniej co masz w kodzie?
dr_bonzo
Apo: Nie mozesz uzyc TRUNCATE wewnatrz transakcji -- nie da sie -- jest to zapytanie usuwajace i tworzace tabele i zgodnie z manualem nie mozesz ich wykonac wewnatrz transakcji.

Poza tym: TRUNCATE TABLE tablea1, tabela2, itd
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.