2016-12-07 1 views
-1
> CREATE TABLE If NOT EXISTS HARDWARE 
(
'RECORD_ID' int PRIMARY KEY NOT NULL, 
'Asset_Number' int(10) unique not null index, 
'Type' char(20) not null, 
'Name' varchar(50) not null index, 
'Device Description' varchar(50) not null, 
'Building' char(40) not null index, 
'Date Created' date DEFAULT CURDATE() not null, 
'Serial Number' varchar(50) index not null, 
'Owner' char(50) index, 
'User Created' CHAR ON CREATE USER() INDEX, 
'Date Modified' date ON UPDATE CURDATE(), 
'Purchase Year' int(4), 
'Model' char(50), 
'User Modified' CHAR(50), 
'PO Number' int(20), 
'Location' VARCHAR(50) index, 
'OS' VARCHAR(20), 
'RAM' int(4), 
'Notes' text, 
'Verified_By_t' char(50) on update user(), 
'Internal IP Address' ON UPDATE USER(), 
'Verified_Date_d' date ON UPDATE CURDATE(), 
'Ethernet MAC' VARCHAR(20) index, 
'Wireless MAC' VARCHAR(20) index, 
'Usage' VARCHAR(20), 
'Funding Source' VARCHAR(20), 
'Lock Combo' int(10), 
'ServiceLog::Date Created' VARCHAR(20), 
'ServiceLog::Issue' VARCHAR(20), 
'Ext. Ethernet Adapter' VARCHAR(20), 
'AD' bit, 
'Updated' date on update CURDATE(), 
'Asset LI Hardware::ID Link' VARCHAR(20), 
'Hardware' VARCHAR(20), 
'Hardware Asset LI::Description' VARCHAR(20), 
'Hardware Asset LI::Location' VARCHAR(20), 
'Hardware Asset LI::Type' VARCHAR(20), 
'Main Menu::Company' VARCHAR(20) 
) 

나는 점점 오전 오류가MySQL의 테이블 생성에 1064 오류가

오류 코드입니다 : 당신은 당신의 SQL 구문에 오류가 있습니다 (1064); 나는 다양한 시도 3

줄에서 'RECORD_ID'INT PRIMARY KEY는 NULL NOT '근처 사용할 수있는 권리 구문,'Asset_Number 'INT 고유하지 널 (null) 지수'에 대한 귀하의 MySQL 서버 버전에 해당하는 설명서를 확인 이와 :

CREATE TABLE If NOT EXISTS HARDWARE 

( RECORD_ID INT PRIMARY KEY NOT NULL, Asset_Number의 INT 고유하지 널 인덱스,

CREATE TABLE If NOT EXISTS HARDWARE 

( sset_Number int 고유하지 않은 null 인덱스,

및 기타 유사. 이것은 현재 가지고있는 것이며 하나의 오류 대신 5 개의 오류를 보여줍니다.

CREATE TABLE If NOT EXISTS HARDWARE 
(
RECORD_ID int PRIMARY KEY NOT NULL, 
Asset_Number int unique not null index, 
Type char(20) not null, 
Name varchar(50) not null index, 
Device_Description varchar(50) not null, 
Building char(40) not null index, 
Date_Created date DEFAULT CURDATE() not null, 
Serial_Number varchar(50) index not null, 
Owner char(50) index, 
User_Created CHAR ON CREATE USER() INDEX, 
Date_Modified date ON UPDATE CURDATE(), 
Purchase_Year int(4), 
Model char(50), 
User_Modified CHAR(50), 
PO_Number int(20), 
Location VARCHAR(50) index, 
OS VARCHAR(20), 
RAM int(4), 
Notes text, 
Verified_By_t char(50) on update user(), 
Internal_IP_Address ON UPDATE USER(), 
Verified_Date_d date ON UPDATE CURDATE(), 
Ethernet_MAC VARCHAR(20) index, 
Wireless_MAC VARCHAR(20) index, 
Usage VARCHAR(20), 
Funding_Source VARCHAR(20), 
Lock_Combo int(10), 
AD bit, 
Updated_date on update CURDATE() 
) 

내가 그것을 참조 오류 :

오류 코드 : 1064 당신은 당신의 SQL 구문에 오류가 있습니다; 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. 라인 4에서 'index, char (20) not null, Name varchar (50) not null index, Device_Descripti'를 사용하십시오.

+0

상당히 직선적 인 오류 메시지와 같습니다. – dfundako

+0

아마도이 오류를 이해하지 못할 것입니다. 열 이름 주위에 따옴표가 있으면 하나의 오류 만 표시되지만 따옴표를 제거하면 오류가 5 개 표시됩니다. 첫 번째 오류는 'RECORD_ID'PRIMARY KEY NOT NULL 행 3에 표시됩니다. –

답변

0

코드에서 수많은 오류가 발생합니다. 여기에 내가 발견 한 것들이 있습니다 :

  • index은 인라인이 아닌 별도의 줄이어야합니다.
  • MySQL은 ON UPDATE DEFAULT CURRENT_TIMESTAMP을 지원합니다. . . 해당 열은 datetime이어야합니다.
  • ON UPDATE USER()가 없습니다.
  • IP 주소에 유형이 없습니다.
  • ON CREATE가 없습니다.

(참고 : MySQL의 의 아마 가장 최신 버전은 이러한 옵션 중 일부 지원합니까,하지만 그들은 나에게 익숙하지 않습니다.)

난 당신이 테이블로 시작 만드는 것이 제안 첫 번째 열 - 다른 모든 열을 주석으로 처리합니다. 그런 다음 한 번에 하나의 열을 추가하고 오류가 발생하면 수정하십시오.

+1

그는 또한 type을 사용하고 있으며 [키워드]입니다 (https://dev.mysql.com/doc/refman/5.5). /en/keywords.html). – Alfabravo

+0

감사합니다. 시도해 보겠습니다. –

관련 문제