简体   繁体   English

无法添加主键约束

[英]Cannot add primary key constraint

I'm trying to create a table and add a constraint with alter table but it's not working:我正在尝试创建一个表并使用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);

This is the error:这是错误:

near "CONSTRAINT": syntax error在“CONSTRAINT”附近:语法错误

What did I do wrong?我做错了什么?

for mysql try with对于mysql尝试使用

ALTER TABLE customer
ADD PRIMARY KEY(cust_id);

or directly from CREATE TABLE或直接从CREATE TABLE

Attention!注意力! : compatible fields types within mysql : mysql兼容的字段类型

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

Your statements work well... in Oracle database (12c1 at least).您的语句运行良好......在 Oracle 数据库中(至少 12c1)。

In order for your query to work in MySQL , you need to change the data types.为了让您的查询在MySQL 中工作,您需要更改数据类型。 (see SQL Fiddle ). (请参阅SQL 小提琴)。 For example:例如:

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