尝试在 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 名称的复数形式,因为它们包含一个实体的多个副本。
我是一名 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 名称的复数形式,因为它们包含一个实体的多个副本。