相关疑难解决方法(0)

如何在SQL中获取插入行的Id

我的数据库表有ID列,它是一个自动增量整数.在向表中插入数据时,它会自动增加,我需要在插入记录时获取ID值.

例如:table employee = | ID | NAME | 地址|

查询是:

insert into employee(NAME, ADDRESS) values("azzi", "test adress")

有可能我们可以更改此查询以在插入记录后立即返回ID,有人帮我这样做.

sql sqlite sql-insert

6
推荐指数
1
解决办法
1万
查看次数

FMDB lastinsertRowID始终为0

ya

我已经在我的应用程序中实现了FMDB。我正在尝试从我的一个数据库中获取最后一行ID

FMDatabase *bdb=[FMDatabase databaseWithPath:databasePath];
    NSString *str;
    if([bdb open]){
        int lastId=[bdb lastInsertRowId];
        FMResultSet *s = [bdb executeQuery:[NSString stringWithFormat:@"SELECT budget FROM data WHERE ROWID='%d'",lastId]];
        if([s next])
        {
            str= [s stringForColumnIndex:0];
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是lastId始终为0,尽管数据库中当前有3个条目。任何人都不知道为什么会这样吗?

编辑:数据库是这样创建的:

NSFileManager *filemgr = [NSFileManager defaultManager];
    if ([filemgr fileExistsAtPath: databasePath ] == NO)
    {
        const char *dbpath = [databasePath UTF8String];

        if (sqlite3_open(dbpath, &basicDB) == SQLITE_OK)
        {
            char *errMsg;
            const char *sql_stmt = "CREATE TABLE IF NOT EXISTS DATA (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, BUDGET INTEGER)";

            if …
Run Code Online (Sandbox Code Playgroud)

sqlite iphone fmdb ipad ios

3
推荐指数
1
解决办法
3579
查看次数

标签 统计

sqlite ×2

fmdb ×1

ios ×1

ipad ×1

iphone ×1

sql ×1

sql-insert ×1