尝试在 SQL 中创建 table 时 IDENTITY 带有红色下划线

IDENTITY is red underlined while trying to create a table in SQL

我是一名 Java 学生,我正在尝试为我的数据库 Web 应用程序项目创建一个 table。

CREATE TABLE customer (
  customer_id int IDENTITY(1,1) PRIMARY KEY,
  first_name varchar(45),
  last_name varchar(45),
  email varchar(45),
 
  );

所以我使用 IDENTITY(1,1)1 开始 id 并从 1 开始 auto increment。但是 IDENTITY 有下划线,我不知道为什么。另外,当我尝试 运行 代码时,我得到了这个输出:

Error starting at line : 1 in command -
CREATE TABLE customer (
  customer_id int IDENTITY(1,1),
  first_name varchar(45),
  last_name varchar(45),
  email varchar(45),
 
  )
Error report -
ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"
*Cause:    
*Action:

您有多个语法错误。但是你想要的代码是:

CREATE TABLE customers (
    customer_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    first_name varchar2(45),
    last_name varchar2(45),
    email varchar2(45)
);

备注:

  • Oracle 中的语法不同于 SQL Server。 IDENTITY 没有参数,您希望列为 GENERATED ALWAYS AS
  • Oracle 更喜欢 VARCHAR2() 而不是 VARCHAR()
  • 您缺少和多余的逗号。
  • 45 个字符对于列来说似乎太短了,尤其是电子邮件。
  • 我更喜欢 table 名称的复数形式,因为它们包含一个实体的多个副本。