2015-06-12 5 views
0

Я пытаюсь создать таблицу в моей базе данных через терминал.Ошибка при попытке создать таблицу в MySQL через терминал

Вот мой синтаксис:

CREATE TABLE `users` (
    PRIMARY KEY(id) NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR NOT NULL, 
    `first_name` VARCHAR NOT NULL, 
    `gender` VARCHAR NOT NULL, 
    `fav_color` VARCHAR NOT NULL, 
    `birthdate` DATE NOT NULL 
); 

Я получаю эту ошибку:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL AUTO_INCREMENT, 
`last_name` VARCHAR NOT NULL, 
`first_name` VARCHA' at line 2 

Что я донг здесь не так?

ответ

3

Кроме проблем, Йенс и Марк отметили, вы должны объявить длину ваших полей VARCHAR для того, чтобы это заявление на работу, например, так:

CREATE TABLE `test`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR(45) NOT NULL, 
    `first_name` VARCHAR(45) NOT NULL, 
    `gender` VARCHAR(45) NOT NULL, 
    `fav_color` VARCHAR(45) NOT NULL, 
    `birthdate` DATE NOT NULL, 
    PRIMARY KEY (`id`)); 
2

синтаксис вашего создания заявления неправильно:

правильный один такой:

CREATE TABLE `users` (
    `id` int NOT NULL AUTO_INCREMENT, 
    `last_name` VARCHAR(255) NOT NULL, 
    `first_name` VARCHAR(255) NOT NULL, 
    `gender` VARCHAR(255) NOT NULL, 
    `fav_color` VARCHAR(255) NOT NULL, 
    `birthdate` DATE NOT NULL, 
    PRIMARY KEY(`id`) 
); 

Для получения дополнительной информации см offical documentation.

1

должно быть

id int primary key auto_increment not null 

Вы пытаетесь определить первичный ключ на поле, которое не существует. Ключи не могут быть «не нулевыми» и определенно не могут быть «auto_increment».

+0

это еще дает мне ту же ошибку, но ссылаясь как 3 вместо строки 2 – Dear1ofGdBear

+0

не забудьте поставить запятую в конце ... –

+0

да, я помещаю запятую туда – Dear1ofGdBear

Смежные вопросы