Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[PostgreSQL]Transazioni e php
Clicca QUI per vedere il messaggio nel forum
khelidan
Ciao,per fare una transazione base base in postgre basta dare:

BEGIN;
UPDATE mytable SET eccc;
COMMIT;

?

Dalla documentazione sembrerebbe di si,e in caso di risposta affermativa,come faccio ad integrarla in una instruzione php?

pg_query($handle,"BEGIN;UPDATE mytable SET eccc;COMMIT;)

Funzionerebbe?

Grazias... :)

yeah
Non ho mai usato PostgreSQL, cmq penso che per le transazioni segua lo standard SQL.

In PHP le query a MySQL non dovrebbero andare inserite tutte in una chamata di funzione, ma non ho mai provato e penso vadano bene lo stesso.

Tuttavia, sempre penso, se cominci una transazione in un thread la puoi continuare nelle query successive -> non è necessario mettere tutta la transazione in una sola chiamata a funzione :)

khelidan
Originally posted by yeah

Tuttavia, sempre penso, se cominci una transazione in un thread la puoi continuare nelle query successive -> non è necessario mettere tutta la transazione in una sola chiamata a funzione :) [/B]


In efeftti,non ci avevo pensato,così la query va a buon fine,credo che funzioni,sai mica se c'e un modo di testarlo?

yeah
Visto che sono transazioni dovresti poter fare rollback / commit per vedere se funziona.

Poi, se non ricordo male, i valori modificati in una transazione valgono solo per il thread corrente, gli altri thread vedono la base di dati immodificata -> ti basta avviare una nuova connessione al db (per esempio con un client standalone) e verificare ad ogni sotto-query se funziona o meno :)

O, per parafrasare una delle poche lezioni di IS che ho potuto seguire: fai un pò di prove, se non trovi errori vuol dire che è giusto :D

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate