繁体   English   中英

无法添加主键约束

[英]Cannot add primary key constraint

我正在尝试创建一个表并使用alter table添加一个约束,但它不起作用:

CREATE TABLE customer
(
cust_id NUMBER(3),
cust_name VARCHAR2(3),
phone_no NUMBER(10)
);

ALTER  TABLE  customer
ADD  CONSTRAINT  pk_customer
PRIMARY  KEY  (cust_id);

这是错误:

在“CONSTRAINT”附近:语法错误

我做错了什么?

对于mysql尝试使用

ALTER TABLE customer
ADD PRIMARY KEY(cust_id);

或直接从CREATE TABLE

注意力! : mysql兼容的字段类型

CREATE TABLE customer
(
    cust_id NUMBER(3),
    cust_name VARCHAR2(3),
    phone_no NUMBER(10),
    PRIMARY KEY(cust_id)
);

您的语句运行良好......在 Oracle 数据库中(至少 12c1)。

为了让您的查询在MySQL 中工作,您需要更改数据类型。 (请参阅SQL 小提琴)。 例如:

CREATE TABLE customer
(
cust_id DECIMAL(3), -- changed here
cust_name VARCHAR(3), -- changed here
phone_no DECIMAL(10) -- changed here
);

ALTER  TABLE  customer
ADD  CONSTRAINT  pk_customer
PRIMARY  KEY  (cust_id);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM