create table loginDetails(
userId varchar(30),
cellPhoneNo varchar(10),
displayName varchar(20),
password varchar(20),
secretQuestion varchar(50),
secretAnswer varchar(50),
joiningDate date,
foreign key(userId) references userDetails(userId) on delete cascade on update cascade
);
错误在oracle中使用。
foreign key(userId) references userDetails(userId) on delete cascade on update
级联 *
第9行的错误: ORA-00907:缺少右括号
这个查询正在使用mysql,但在oracle中无法正常工作?请有人告诉我它在oracle中是如何工作的。
答案 0 :(得分:2)
Oracle不支持主键的级联更新。主键应该是唯一的和不可变的,所以它不应该需要改变。由于您永远不应该更新主键,因此不需要级联这些更新。
通常,您可能还应该使用VARCHAR2
数据类型而不是VARCHAR
。目前,这些数据类型是相同的,但Oracle可能会在将来更改VARCHAR
类型的语义,以使空字符串与NULL
区别对待。假设您不希望您的应用程序在这些语义发生变化时可能会中断,那么使用VARCHAR2
会更安全。