在 Swift GRDB 中,可以通过将主键属性定义为自动增量类型来实现自增主键。

首先,在定义数据模型时,需要将主键属性定义为自动增量类型。例如:

struct Person: Codable, FetchableRecord, MutablePersistableRecord {
    var id: Int64?
    var name: String
    var age: Int
    
    static let databaseTableName = 'persons'
    
    enum Columns {
        static let id = Column('id')
        static let name = Column('name')
        static let age = Column('age')
    }
    
    // 将id属性定义为自动增量类型
    static let id = Column('id').primaryKey(autoincrement: true)
}

然后,在插入新记录时,可以省略id属性,因为它将自动递增。例如:

try dbQueue.write { db in
    var person = Person(name: 'John', age: 30)
    try person.insert(db)
    print(person.id) // 输出自增主键的值
}

注意,自增主键只能用于整数类型的主键列。如果您的主键列不是整数类型,则无法使用自增主键。

Swift GRDB 自增主键:使用自动增量类型实现主键绑定

原文地址: https://www.cveoy.top/t/topic/oR99 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录