On 26/08/10 20:29, Alan Chandler wrote: > On 26/08/10 17:38, Simon Slavin wrote: > >> So someone can check it out. Try it with a VIEW that definitely doesn't >> exist, or use >> >> CREATE VIEW IF NOT EXISTS ... >> > > As far as I can work it out, the statement then prepares OK - but seems > then to execute as a no op. Since having completed that script and then > checking the schema with the command line sqlite3 utility, the view no > longer exists. > > This seems completely wrong. Surely it should do this check at > *execute* time not at *prepare* time. >
Life is just too short. The benefit of a prepared statement is lost when you can't have parameters and you are only using it once anyway, so whilst there is a slight lengthening of the time when the database is Locked, its just easier to move the whole thing into a PDO::exec function (which in SQLITE terms I think prepares and then executes immediately). I did this, and my code now works fine. There might be a discussion about the difference between semantic and syntactic validation of prepared statements, but I am not expert enough in SQL to know what the perceived wisdom in this area is. -- Alan Chandler http://www.chandlerfamily.org.uk _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users