2015-06-01 3 views
0

Я пытаюсь создать новую базу данных для проекта викторины. Теперь я столкнулся с странной ошибкой и никогда не видел ничего подобного раньше.Phpmyadmin can not create table

Я пытаюсь добавить таблицу с именем: questions.

После этого я только пытаюсь дать ему 4 колонки.

"id => int, name => varchar, question_id => int and awnser_id => int 

Теперь мой точный запрос заключается в следующем:

CREATE TABLE `playquzi`.`quiz` 
(`id` INT(11) NOT NULL AUTO_INCREMENT , 
`name` VARCHAR(255) NOT NULL , 
`question_id` INT(11) NOT NULL , 
`awnser_id` INT(11) NOT NULL) 
ENGINE = InnoDB; 

После этого я получаю следующую ошибку

1075 - Неправильное определение таблицы; может быть только одна автоматическая колонка и она должна быть определена в качестве ключевого

Я поставил id в primary

+0

Вы пытаетесь добавить таблицу с именем Вопросы, но вы CREATE TABLE заявление говорит: «Викторина». Это верно? И что говорят другие, вам не хватает первичного ключа. – massie

+0

@massie Да, я просто заметил, что генерируемый запрос неверен. Похоже, что сгенерированный запрос действительно не помещает идентификатор в качестве первичного ключевого события, хотя я и сказал, что это должно быть. – killstreet

+0

Вы используете инструмент создания графической таблицы phpMyAdmin? Какая версия phpMyAdmin? –

ответ

2

Ваш id колонки должны быть первичным ключом Вашей таблицы:

CREATE TABLE `playquzi`.`quiz` 
(`id` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT , 
`name` VARCHAR(255) NOT NULL , 
`question_id` INT(11) NOT NULL , 
`awnser_id` INT(11) NOT NULL) 
ENGINE = InnoDB; 
+0

Не знаю, как я просто пропустил это, я сделал флажок, чтобы сделать его основным ключом, похоже, что он не добавлен в запрос. Любые предложения, что может вызвать это? – killstreet

1

ошибка довольно ясна. Ваш столбец автоинкремента должен быть указан как ключ.

PRIMARY KEY (id) 
1

Вы можете установить поле Auto-Incrementing ID быть первичный ключ в конце:

CREATE TABLE playquzi.quiz 
( 
    id INT(11) NOT NULL AUTO_INCREMENT, 
    name VARCHAR(255) NOT NULL, 
    question_id INT(11) NOT NULL, 
    awnser_id INT(11) NOT NULL, 
    PRIMARY KEY (id) 
) ENGINE = InnoDB;