簡體   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