2013-11-10 2 views
-1

Я продолжаю получать код ошибки.Ошибка MySQL с кодом

Ошибка 1064 (42000): У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «по умолчанию„“, originalcost десятичной (10,2) не нулевой умолчанию 0, ток в линии 3

Create table computer_inventory ( 
    assetnumber int(10) not null default 0, 
    manufacturer ENUM('Dell', 'IBM', ' ') NOT NULL, default ' ', 
    originalcost decimal(10,2) not null default 0, 
    currentvalue decimal(10,2) not null default 0, 
    boughtfrom varchar(20) not null default ' ', 
    instock tinyint(1) not null default 0, 
    currentuser varchar(20) not null default ' ', 
    userphonenum varchar(13) not null default ' ', 
    boughtdate datetime not null default '0000-00-00' 
); 

Любые предложения?

EDIT Я нашел запятую в неположенном месте. Я должен сделать ошибку: «Вы должны войти в« Dell »или« IBM ». Кто-нибудь знает, как отправить эту ошибку ??

+0

вы уверены 'производитель ENUM ('Dell', 'IBM', '«) NOT NULL **, * * default '', ': semicolon –

+0

Я обновил свой вопрос. – user2975266

ответ

2

Вы использовали запятую после NOT NULL удалить эту запятую

CREATE TABLE computer_inventory ( 
    assetnumber INT(10) NOT NULL DEFAULT 0, 
    manufacturer ENUM('Dell', 'IBM', ' ') NOT NULL DEFAULT ' ', 
    originalcost DECIMAL(10,2) NOT NULL DEFAULT 0, 
    currentvalue DECIMAL(10,2) NOT NULL DEFAULT 0, 
    boughtfrom VARCHAR(20) NOT NULL DEFAULT ' ', 
    instock TINYINT(1) NOT NULL DEFAULT 0, 
    currentuser VARCHAR(20) NOT NULL DEFAULT ' ', 
    userphonenum VARCHAR(13) NOT NULL DEFAULT ' ', 
    boughtdate DATETIME NOT NULL DEFAULT '0000-00-00' 
); 

Fiddle

+0

Это сработало отлично. Спасибо. Еще один быстрый вопрос. Если бы я хотел отправить сообщение об ошибке «Вы должны войти в Dell или IBM». Как я могу это сделать? – user2975266

+0

Я предполагаю, что эта проверка выполняется с помощью любого сценария на стороне сервера –