valid in a SQLite CREATE statement? The more normal way is CHAR(9). I second and third the recommendations to turn RaiseError on and to use placeholders. Not that it matters in this case, but are you aware that
? DBD::SQLite2 is really only for backwards compatibility with the now superceded SQLite version 2.x while DBD::SQLite is for the new SQLite version 3.x.