So does that mean Create table statements force a commit to the DB even if Autocommit is 0 and I never explicitly called commit?
Try it and see. I suppose it makes sense; CREATE TABLE is DDL; INSERT is DML; and only some databases (PostgreSQL, for instance) know how to do transactional DDL.
Transactional DDL example:
# begin; --> start a transaction create table testtable(id serial, c text); --> ... and create a tabl +e BEGIN CREATE TABLE # insert into testtable (c) values ('this will be short-lived'); --> +insert a row INSERT 0 1 # select * from testtable; --> have a look id | c ----+-------------------------- 1 | this will be short-lived (1 row) # rollback; --> go back to initial state before begin ROLLBACK # select * from testtable; --> now the table is gone... ERROR: relation "testtable" does not exist LINE 1: select * from testtable; ^
You get the idea...
Update: added a DDL transaction begin-create-rollback session.
In reply to Re^5: DBI Problem
by erix
in thread SOLVED: DBI Problem
by Zarquav
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |