Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Problem z transakcją
djmentos
post 31.08.2010, 12:45:52
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 29.01.2009

Ostrzeżenie: (0%)
-----


Witam.

Mam zapytanie, które prezentuje się tak i jest bardzo, ale to bardzo długie. (Troche je tu skróciłem)

Jest to wycinek ze skryptu PHP, którego zadaniem jest stworzyć nową bazę danych i wgrać do niej potrzebne dane. Jeżeli coś się nie powiedzie, to wszystko ma zostać cofnięte.

  1. START TRANSACTION;
  2. CREATE USER \''.$dblogin.'\'@\'localhost\' IDENTIFIED BY \''.$haslo.'\';
  3.  
  4. GRANT USAGE ON * . * TO \''.$dblogin.'\'@\'localhost\' IDENTIFIED BY \''.$haslo.'\' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
  5.  
  6. CREATE DATABASE IF NOT EXISTS `'.$dblogin.'`;
  7.  
  8. GRANT ALL PRIVILEGES ON `'.$dblogin.'` . * TO \''.$dblogin.'\'@\'localhost\' ;
  9.  
  10. USE forum_db;
  11.  
  12. INSERT INTO `configs` (id, domain, name, dbname, dbuser, dbpass, dbprefix) VALUES(0, \'domena\', \'nazwa\', \''.$dblogin.'\', '.$dblogin.'\', \''.$haslo.'\', \'s_\');
  13.  
  14. USE '.$dblogin.';
  15. -- tutaj pełno CREATE TABLE i INSERT
  16. COMMIT;


Tak logicznie rzecz biorąc to brakuje polecenia ROLLBACK, tyle, że jak wstawiam warunek:
  1. IF @@ERROR <> 0 ROLLBACK;

To błędem się to kończy składni.

Ten post edytował djmentos 31.08.2010, 12:52:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:32