(1) Form of wildcards:

?
?N
:N:
$N
At various places in the documentation, all of these seem to be mentioned, though not all consistently. At times N is only a numeric integer, while at others it is a fully alphanumeric identifier. The last ($) form, is hinted at only in the header file, near as I can tell.

James,

I can't tell you how all those variations behave, but I think that by far the clearest/simplest functional form is plain :N. I'm sure there are reasons for the other forms to exist (legacy style? oracle/mysql compatability?), but from a programmatic standpoint:

   INSERT INTO mytable (a, b, c, d, e) VALUES (:1, :2, 0, :3, :2)
   sqlite3_bind_int(stmt, 1, 42);
   sqlite3_bind_int(stmt, 2, 99);
   sqlite3_bind_int(stmt, 3, 144);

is both easy to write and easy to understand when you come back and look at it in the future.

-Eli



Reply via email to