大佬教程收集整理的这篇文章主要介绍了Flutter SQLITE 如何限制删除,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的数据库中,我多次返回相同的值,我想删除最近的值,但是当我想执行 liMIT 时出现错误。
我的数据库助手:
class DatabaseHelper{
static final _dbname = AppConfig.DATABASE_name;
static final _dbVersion = AppConfig.DATABASE_VERSION;
static final tablename = 'counter';
static final columnID = '_ID';
static final columnType = 'type';
static final columnStatus = 'status';
DatabaseHelper._privateConstructor();
static final DatabaseHelper instance = DatabaseHelper._privateConstructor();
static Database _database;
Future<Database> get database async{
if(_database != null) return _database;
_database = await _initiateDatabase();
return _database;
}
_initiateDatabase() async{
return await openDatabase(join(await getDatabasesPath(),_dbName),version: _dbVersion,onCreate: _oncreate);
}
Future _onCreate(Database db,int version) async{
await db.execute('''
create table $tablename (
$columnID ID INTEGER PRIMARY KEY,$columnType TEXT NOT NulL,$columnStatus TEXT NOT NulL
)
'''
);
}
Future<int> insert(Map<String,dynamic> row) async
{
Database db = await instance.database;
return await db.insert(tablename,row);
}
Future<List<Map<String,dynamic>>> queryAll() async
{
Database _db = await instance.database;
return await _db.query(tableName);
}
Future<int> delete(int id) async
{
Database _db = await instance.database;
return await _db.delete(tablename,where: '$columnID = ?',whereArgs: [ID]);
}
Future<voID> deleteall() async
{
Database _db = await instance.database;
return await _db.delete(tableName);
}
// Here is my problem
Future<int> deletePersonnel(String typE) async
{
Database _db = await instance.database;
return await _db.rawdelete("deletE FROM $tablename WHERE $columnType = $type liMIT 1");
}
}
在我的 deletePersonnel 函数中,如果我这样写,请求有效:
wait _db.rawdelete("deletE FROM $tablename");
但是如果我这样写,我会出错:
wait _db.rawdelete("deletE FROM $tablename WHERE $columnType = $type liMIT 1");
[
{type: Test,status: High},{type: Test,{type: Active,status: Low},status: High}
]
如您所见,我的数据库中出现了多次相同的值,因此我想通过删除最后一个条目来删除与我的类型相对应的值
我遇到的错误:
E/sqliteLog(10576): (1) near "liMIT": Syntax error
但是,如果我删除请求中的 liMIT 1,我也会出错:
no such column: Test
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Flutter SQLITE 如何限制删除全部内容,希望文章能够帮你解决Flutter SQLITE 如何限制删除所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。