Mit SQLite3 erkennen, wenn Sie eine Tabelle wie folgt zu erstellen:sqlite3: Wie Rowid alias Spalte (Primärschlüssel)
CREATE TABLE MyTable (
id int primary key,
--define other columns here--
)
es stellt sich heraus sqlite3_column_type(0)
immer SQLITE_NULL
zurückgibt. Wenn ich read on a bit, kann dies von Entwurf sein, da diese Spalte tatsächlich ein Alias für das interne Feld rowid
ist.
Noch, was ist der programmatische Weg, um eine bestimmte Spalte zu bestimmen, ist ein/der Alias zum rowid
Feld?
(vielleicht verwandten, kann ich sqlite3_column_type(x)==SQLITE_NULL
verwenden, um festzustellen, ob das Feld des Datensatzes aktuellenNULL
hält?)
versucht 'CREATE TABLE test (id INTEGER PRIMARY KEY, ...)' und das funktioniert, danke! –
@StijnSanders - haben Sie jemals eine Antwort gefunden auf "was ist der programmatische Weg, um eine bestimmte Spalte zu bestimmen, ist der Alias zu" rowid ""? Ich möchte testen/bestätigen 'id integer primary key' ist das gleiche wie 'id integer primary key asc' – aaaaaa
Nein, aber im Nachhinein, ich glaube nicht, dass Sie jemals brauchen/wollen. Die Antwort ist in der Quelle. Überprüfe, was sqlite mit einem C-Debugger für "Integer Primärschlüssel asc" tut und du wirst es wissen. –