【android-当其他表具有外键时,在sqlite中更改列名】教程文章相关的互联网学习教程文章

android-当其他表具有外键时,在sqlite中更改列名【代码】

我有一个名为groups的表,并且我想重命名其列之一.到目前为止还可以.我知道sqlite不支持重命名列,所以我做到了:ALTER TABLE groups RENAME to tmp_groups;CREATE TABLE groups(_ID integer primary key autoincrement,new_column_name integer );INSERT INTO groups(_ID, new_column_name) SELECT _ID, old_column_name FROM tmp_groups;DROP TABLE tmp_groups;但是,当我删除表tmp_groups时,具有带有ON DELETE CASCADE的外键的表成...

Android SQLite外键语法错误【代码】

我刚刚开始在Android应用程序中使用SQLite数据库.我正在尝试制作“团队”表和“玩家”表,并且我希望“玩家”表具有外键,该外键引用“团队”表的自动递增_ID字段(我认为此_ID字段来自在我的合同类中实现BaseColumns).我以为语法正确,但出现以下错误(即使在卸载并重新安装我的应用程序之后)06-08 20:26:22.763: E/Database(29843): Failure 1 (near "playerName": syntax error) on 0x22a110 when preparing 'CREATE TABLE player (_...

使用stORM或替代方法使用外键的Android SQLite查询【代码】

我有以下型号categories(id, name) places(id, name, category_id)我有一个列表视图,根据用户想要查看的类别显示内容. 类别数据1, River 2, Hill Station 3, Wild Life 4, Temples如果用户想要查看只有category_id = 2和4的地方. 如何对数据库进行查询以返回具有category_id = 2和4的位置列表. 我正在为数据库使用stORM库. 它们具有以下用于执行查询的功能.dao.listAll(); dao.listByExample(exampleObj);解决方法:如果你切换到gre...

android – SQLite的“NO ACTION”外键约束究竟做了什么,它与“RESTRICT”的区别如何?

documentation说:Configuring “NO ACTION” means just that: when a parent key is modifiedor deleted from the database, no special action is taken.我对这句话的第一个解释是“如果父键被修改或删除,那么这个修改就完成了,不采取任何其他行动”,因此不保留数据库的完整性,这导致了一些confusion.但我的测试显示,如果我尝试删除父键(如果子键仍然存在),我会得到一个异常(“SQLiteConstraintException:错误代码19:约束失败...

android – 使用外键的sqlite查询【代码】

请帮助sqlite n00b. 我有两张桌子"CREATE TABLE students (" +"_id INTEGER PRIMARY KEY AUTOINCREMENT," +"studentname TEXT not null," +"studentpic BLOB," +"comment TEXT);";和"CREATE TABLE classes (" +"_id INTEGER PRIMARY KEY AUTOINCREMENT," +"classname TEXT," +"attend INTEGER," +"late INTEGER," +"dtime TEXT," +"student ...