在sqlite中使用CASCADE时出现语法错误

时间:2014-02-20 13:38:40

标签: android sqlite

当我试图在android中的sqlite中运行以下查询时我收到错误

android.database.sqlite.SQLiteException: near "autoincrement": syntax error (code 1):

follwing是创建查询的表,我无法弄清楚出错的地方

 CREATE TABLE IF NOT EXISTS template_info
 (  _id integer autoincrement , 
    temp_contact_key integer , 
    temp_text text , 
    FOREIGN KEY ( temp_contact_key ) REFERENCES contact_info ( _id ) 
    ON UPDATE CASCADE  ON DELETE CASCADE ,  
    PRIMARY KEY ( _id , temp_contact_key )
 );

1 个答案:

答案 0 :(得分:0)

SQL语法问题:

  • 如果您想使用autoincrement,则应为primary key。创建_id integer primary key autoincrement并删除最后一行复合PRIMARY KEY(以及之前的,逗号),或删除autoincrement关键字。如果您需要强制(_id,temp_contact_key)对是唯一的,请添加UNIQUE(_id,temp_contact_key)约束。

  • 删除,之前的ON UPDATE CASCADE ON DELETE CASCADE