SQL, как создать таблицу с уникальным ключом? - PullRequest
0 голосов
/ 11 июня 2018

Создайте таблицу курсов с этим определением (попробуйте использовать многострочный оператор SQL):

+---------+---------------------+------+-----+---------+----------------+
| Field   | Type                | Null | Key | Default | Extra          |
+---------+---------------------+------+-----+---------+----------------+
| id      | int(3) unsigned     | NO   | PRI | NULL    | auto_increment |
| title   | varchar(255)        | NO   | UNI | NULL    |                |
| credits | tinyint(2) unsigned | NO   |     | 1       |                |

Я продолжаю получать сообщение об ошибке при попытке создать таблицу, вот что у меня есть:

CREATE TABLE courses 
(
    id int(3)  unsigned NOT NULL AUTO_INCREMENT,
    title varchar(255) NOT NULL UNIQUE,
    credits tinyint(2) unsigned NOT NULL DEFAULT 1;

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Две ошибки:

  • Столбец auto_increment должен быть первичным ключом в MySQL.

  • Необходимо завершить предложение SQLс ).

Этот SQL работает:

CREATE TABLE courses (
  id int(3)  unsigned primary key NOT NULL AUTO_INCREMENT,
  title varchar(255) NOT NULL UNIQUE,
  credits tinyint(2) unsigned NOT NULL DEFAULT 1
);
0 голосов
/ 11 июня 2018

Ошибка:

Incorrect table definition; there can be only one auto column and it must be defined as a key

Правильное предложение SQL:

CREATE TABLE courses (
id      int(3) unsigned   primary key  NOT NULL AUTO_INCREMENT,
title   varchar(255)        NOT NULL UNIQUE,
credits tinyint(2) unsigned NOT NULL DEFAULT 1);

Ваше предложение проигрывает primary key.

...