无法添加主键约束

时间:2019-06-29 17:31:47

标签: mysql sql

我正在尝试创建一个表并使用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”附近:语法错误

我做错了什么?

2 个答案:

答案 0 :(得分:0)

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)
);

答案 1 :(得分:0)

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

为了使查询在 MySQL 中运行,您需要更改数据类型。 (请参见SQL Fiddle)。例如:

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);