Sqlite 建表时的外键约束问题

Sqlite 建表时的外键约束问题,第1张

type_id integer references food_types(id)

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之前是不支持外键的,如果有两张表需要关联,用外键是最省事的,但不支持的话怎么办呢?这里就有一个解决办法,就是用事务将两张表关联起来,并且最后生成一张视图。

在sqlite中,可以用以下方法防止插入重复数据:

设置表的联合主键

在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已存在时引发冲突。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11728344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存