create table Info_table
(info_ID int primary key,
LinkMan_ID integer REFERENCES LinkMan_table(LinkMan_ID)
)
这样就行了,SQLite的sql语法稍有不同,你试试看
这是sqlite的create table的语法,从语法看没有FOREIGN KEY(LinkMan_ID) 这样的文字。
create table table_name
( column_definition references foreign_table (column_name)
on {delete|update} integrity_action
[not] deferrable [initially {deferred|immediate}, ]
… )
安卓默认的数据是SQLite,但SQLite3.6.19之前是不支持外键的,如果有两张表需要关联,用外键是最省事的,但不支持的话怎么办呢?这里就有一个解决办法,就是用事务将两张表关联起来,并且最后生成一张视图。设置表的联合主键
在INSERT语句中添加OR IGNORE,即可。
示例如下:
insert OR IGNORE into PDA_Test (DeviceID,MethodName) values('1112','测试原有')
sqlite避免重复插入数据
SQLite 数据库常用约束如下:
NOT NULL - 非空
UNIQUE - 唯一
PRIMARY KEY - 主键
FOREIGN KEY - 外键
CHECK - 条件检查
DEFAULT - 默认
用insert语句插入数据,为避免重复插入又不打断数据处理。
首先要避免重复插入,就必须在插入时引发冲突。在表中设置了id字段,该字段为UNIQUE属性,当插入的id已存在时引发冲突。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)