2013-09-29 4 views
-5
$con->query("CREATE TABLE jobs 
(
ID INT AUTO_INCREMENT, 
Title VARCHAR(32), 
Company VARCHAR(32), 
Country VARCHAR(32), 
City VARCHAR(32), 
Email VARCHAR(32), 
Website VARCHAR(32), 
Description VARCHAR(1000) 
);"); 

Кто-нибудь знает, почему он не работает?CREATE TABLE Запрос не работает

Заранее спасибо

+0

Да, у меня нет ошибок – user2827980

+0

Возможно, у вас нет сообщений об ошибках? Может быть, у вас нет надлежащего уровня отчетности об ошибках? Может быть, вы покажете нам еще какой-нибудь код? Возможно, вы создаете некоторые индексы в своих столбцах для быстрого запроса? – Mark

+1

mysql? varchar max is 255 –

ответ

4

Вы можете только определить столбец, как AUTO_INCREMENT если это PRIMARY KEY.

Так, просто добавьте PRIMARY KEY к AUTO INCREMENT колонку с, например, так:

CREATE TABLE jobs 
(
ID INT AUTO_INCREMENT, 
Title VARCHAR(32), 
Company VARCHAR(32), 
Country VARCHAR(32), 
City VARCHAR(32), 
Email VARCHAR(32), 
Website VARCHAR(32), 
Description VARCHAR(1000), 
PRIMARY KEY (ID) 
); 
+0

Отлично, сработало! Маркировка как лучший ответ – user2827980

+0

@ Downvoter: помогите объяснить нижний план/предложить улучшение? –

0
Because there was no primary key defined,try this 

CREATE TABLE jobs 
(
    ID INT AUTO_INCREMENT PRIMARY KEY, 
    Title VARCHAR(32), 
    Company VARCHAR(32), 
    Country VARCHAR(32), 
    City VARCHAR(32), 
    Email VARCHAR(32), 
    Website VARCHAR(32), 
    Description VARCHAR(1000) 
); 
0
Incorrect table definition; 
there can be only one auto column and it must be defined as a key 

Добавить pripary ключ ID

ID INT AUTO_INCREMENT PRIMARY KEY, 
0

Да, я не получаю любые ошибки либо

Пока вы должны.

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 

Имея эту строку в коде, вы сразу же узнаете проблему и решите ее, не теряя при этом силу сообщества.