(Fwd)
От | suspect.files@anr.state.vt.us |
---|---|
Тема | (Fwd) |
Дата | |
Msg-id | 40DC3323.19193.D2D488@localhost обсуждение исходный текст |
Список | pgsql-general |
------- Forwarded message follows ------- Date sent: 25 Jun 2004 11:41:22 +0200 From: Ago <ago@nmb.it> To: <pgsql-general@postgresql.org> Send reply to: Ago <ago@nmb.it> Subject: [GENERAL] I have a PHP script that runs this query on Postgresql 7.2.3. Once it inserts the record in the e_catalog table it takes the id value and then inserts it in the e_catalog_cache table, the two tables must have the same rows and values. I thought rhat inside a transaction block the subquery SELECT MAX(id) FROM e_catalog was safe from concurrent same transactions, that is the id value from SELECT MAX(id) FROM e_catalog was exactly that one inserted in the previous statement, but reading some threads in this mailing list I have some doubt now. This is the query: BEGIN WORK; INSERT INTO e_catalog(id, name, descr) VALUES (nextval('sequence'), '$Name', '$Descr'); INSERT INTO e_catalog_cache(id, name, descr) VALUES ((SELECT MAX(id) FROM e_catalog), '$Name', '$Descr'); COMMIT WORK; Thanks. ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) ------- End of forwarded message -------
Вложения
В списке pgsql-general по дате отправления: