Sql 能够插入重复值作为主键

Sql 能够插入重复值作为主键,sql,sqlite,Sql,Sqlite,我在websql/sqllite中创建了一个表,它的主键为pNum ('CREATE TABLE IF NOT EXISTS sInfo (pNum INTEGER NOT NULL PRIMARY KEY, tStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status varchar(20));'); ('CREATE TABLE IF NOT EXISTS sData (pNum INTEGER , photoPath varchar(255) , F

我在websql/sqllite中创建了一个表,它的主键为pNum

('CREATE TABLE IF NOT EXISTS sInfo (pNum INTEGER NOT NULL PRIMARY KEY, tStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status varchar(20));');
('CREATE TABLE IF NOT EXISTS sData (pNum INTEGER , photoPath varchar(255) , FOREIGN KEY (pNum) REFERENCES surveyInfo(pNum));');
但是我可以插入重复的值作为主键。 下面是我用来插入数据的javascript代码

tr.executeSql("INSERT INTO sInfo('pNum','status') values('" + policy_num + "','" + status + "');");
如果我插入。。。46,好的,46,falied 这两个值都被添加


即使使用了主键,如何防止重复值。。我的陈述有什么错误吗?我想你还有另一个问题。试试这个,相同的记录id不插入,谢谢hkutluay会检查它。如果你能把所有的代码都放到你的帖子里,你可能会更快地找到答案。