android - 级联上的外键中的Android SQLite语法错误

标签 android sqlite foreign-keys syntax-error cascade

我正在我的Android应用程序中创建表。我希望在删除交货单记录时删除此照片表的记录。

该SQL运行,但不包括约束:

照片表:

CREATE TABLE photos ( 
_id INTEGER PRIMARY KEY, 
orderid INTEGER , 
uri TEXT , 
datetime TEXT , 
lattitude REAL , 
longitude REAL , 
FOREIGN KEY ( orderid )  
REFERENCES deliveryorder ( _id ) )

但是当我添加约束时,出现语法错误“CASCADE附近”

照片表:
CREATE TABLE photos ( 
_id INTEGER PRIMARY KEY, 
orderid INTEGER ,
uri TEXT ,
datetime TEXT , 
lattitude REAL ,
longitude REAL ,
FOREIGN KEY ( orderid )  REFERENCES deliveryorder ( _id )  ON DELETE CASCASDE  )

这是错误消息:
    06-10 11:09:55.944: E/AndroidRuntime(26269): java.lang.RuntimeException: 
Unable to start activity
ComponentInfo{com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity}:
android.database.sqlite.SQLiteException: near "CASCASDE":
syntax error (code 1): , while compiling:
CREATE TABLE photos ( _id INTEGER PRIMARY KEY, orderid INTEGER , uri TEXT , datetime TEXT , lattitude REAL , longitude REAL , FOREIGN KEY ( orderid )  REFERENCES deliveryorder ( _id )  ON DELETE CASCASDE  )

我搜索了一堆看似相关的答案,但找不到解决该特定问题的答案。我知道这可能很容易,但是我对SQL没有很多经验。
  • 我正在使用编译指示打开外键。我都用编译指示
    在onCreate和onOpen中。
  • 数据库版本是Gingerbread随附的版本,因此
    这都应该得到支持。

  • 显然,我正在做一些愚蠢的事情,但无法弄清楚。

    在此先感谢您的帮助。

    最佳答案

    您拼写了CASCASDE。尝试CASCADE。它应该更好地工作。

    关于android - 级联上的外键中的Android SQLite语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027260/

    相关文章:

    java - 在 Android 上生成 Azure SAS token

    java - Android SSL套接字证书吊销检查

    android - 使用 Kotlin 1.6.0 的 proguard/R8 删除了数据类元数据

    java - Logstash SQLite 错误 "Missing Valuefier handling for full class"

    sqlite - passportjs 本地策略无法获取路线

    java - 如何将 Android 相机输出作为 Java short(不是字节)?

    iphone - 如何强制coredata重建sqlite数据库模型?

    postgresql - PgSQL 对 UPDATE 的默认操作 |删除外键

    java - Hibernate 与不同表的一对一映射可以单独存在

    mysql - 创建简单外键引用时 SQL 语法错误