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
);
该错误是在甲骨文中使用时出现的。
foreign key(userId) references userDetails(userId) on delete cascade on update
级 联 *
第 9 行错误: ORA-00907:缺少右括号
此查询在 mysql 上工作,但在 oracle 中不起作用? 请谁告诉我它在 Oracle 中是如何工作的。
Oracle 不支持主键的级联更新。 主键应该是唯一且不可变的,因此它永远不需要更改。 由于您永远不应该更新主键,因此不需要级联这些更新。
通常,您可能还应该使用 VARCHAR2
数据类型而不是 VARCHAR
。 目前,这些数据类型是相同的,但 Oracle 将来可能会更改VARCHAR
类型的语义,以使空字符串的处理方式与 NULL
不同。 假设您不希望应用程序将来在这些语义更改时可能会中断,则使用 VARCHAR2
会更安全。