Невозможно добавить ограничение первичного ключа - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь создать таблицу и добавить ограничение с помощью 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 голосов
/ 29 июня 2019

Ваши заявления хорошо работают ... в базе данных 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);
0 голосов
/ 29 июня 2019

для 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)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...