[英]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.