lordfritte
Erfahrenes Mitglied
Hallo ich lerne gerade das umgehen mit sqlite unter C++, jetzt habe ich ein Problem, mein Programm:
Wenn ich dies ausführe bekomme ich das:
Aber es ist doch ein Integer.
PHP:
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char **argv){
sqlite3 *db;
int rc;
char *databaseName = "test2.s3db";
char *zErrMsg = 0;
rc = sqlite3_open(databaseName, &db);
//rc = sqlite3_exec(db, "INSERT INTO 'Mitarbeiter' (id, name, vorname) VALUES ('', 'Nachname', 'Vorname')", callback, 0, &zErrMsg);
rc = sqlite3_exec(db, "CREATE TABLE 'Mitarbeiter' ('id' INTEGER( 5 ) NOT NULL PRIMARY KEY AUTOINCREMENT ,'name' VARCHAR( 20 ) NOT NULL ,'vorname' VARCHAR( 20 ) NOT NULL)", callback, 0, &zErrMsg);
if(rc) printf("%d: %s", rc, sqlite3_errmsg(db));
sqlite3_close(db);
return 0;
}
Wenn ich dies ausführe bekomme ich das:
Code:
1: AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
Process returned 0 (0x0) execution time : 0.078 s
Press any key to continue.
Aber es ist doch ein Integer.
Zuletzt bearbeitet: