android sqlite 多对多,SQLite表之间的一对多和多对多关系

在尝试使用SQLite数据库创建表结构时遇到了问题。BasicModel和ExtendCategory1表存在一对多关系,而ExtendCategory1与Alarm表以及Alarm与AlarmTimings表各自有一对一关系。然而,代码执行时出现了重复列的错误。目前对数据库操作不熟悉,寻求解决方案。
摘要由CSDN通过智能技术生成

我正在尝试创建一个表,其中BasicModel Table和ExtendCategory1表具有一对多的关系。 BasicModel(一) - > ExtendCategory1(很多)。

然后ExtendCategory1表和报警表具有一对一的关系。并且报警表和报警模式表具有一对一的关系。

这个ID我的代码如下。但它不起作用。任何想法?

String basicModelCreateQuery = "CREATE TABLE BasicModel" +

"(_BasicModel_ID integer primary key autoincrement," +

"CATEGORY TEXT);";

db.execSQL(basicModelCreateQuery);

db.execSQL("INSERT INTO BasicModel VALUES (0, 'Category 1')");

db.execSQL("INSERT INTO BasicModel VALUES (1, 'Category 2')");

String extendCategory1CreateQuery = "CREATE TABLE ExtendCategory1" +

"(_ExtendCategory1_ID integer primary key autoincrement," +

"_BasicModel_ID_TO_ExtendCategory1_ID INTEGER, _BasicModel_ID_TO_ExtendCategory1_ID REFERENCES BasicModel(_BasicModel_ID)," +

"NAME TEXT, DESCRIPTION TEXT);";

db.execSQL(extendCategory1CreateQuery);

String alarmCreateQuery = "CREATE TABLE Alarm" +

"(_ALARM_ID integer primary key autoincrement, " +

"_ExtendCategory1_ID_TO_ALARM_ID INTEGER, _ExtendCategory1_ID_TO_ALARM_ID REFERENCES ExtendCategory1(_ExtendCategory1_ID)"+

"FROM_DATE TEXT, TO_DATE TEXT, ALWAYS, TEXT, WHEN_CREATED TEXT, " +

"WHEN_COMPLETE TEXT, REPEAT TEXT, SOUND TEXT, VIBRATION TEXT);";

db.execSQL(alarmCreateQuery);

String alarmTimingsCreateQuery = "CREATE TABLE AlarmTimings" +

"(_ALARM_TIMINGS_ID integer primary key autoincrement, " +

"_ALARM_ID_TO_ALARM_TIMINGS INTEGER, _ALARM_ID_TO_ALARM_TIMINGS REFERENCES Alarm(_ALARM_ID)"+

"TIME1_HOUR INTEGER, TIME1_MINUTE INTEGER, TIME2_HOUR INTEGER, TIME2_MINUTE INTEGER, TIME3_HOUR INTEGER, TIME3_MINUTE INTEGER" +

"SUNDAY INTEGER, MONDAY INTEGER, TUESDAY INTEGER, WEDNESDAY INTEGER, THURSDAY INTEGER, FRIDAY INTEGER, SATURDAY INTEGER);";

db.execSQL(alarmTimingsCreateQuery);

错误表示重复的列。我对数据库知之甚少。任何帮助将不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值