> 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)
)
我得到的错误是
错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在''RECORD_ID'附近使用正确的语法.INPRINARY KEY NOT NULL,'Asset_Number'int unique not null index,'at line 3
我尝试用以下方式改变:
CREATE TABLE If NOT EXISTS HARDWARE
( RECORD_ID int PRIMARY KEY NOT NULL, Asset_Number int unique not null index,
CREATE TABLE If NOT EXISTS HARDWARE
( Asset_Number int unique not null index,
和其他变化。 这是我目前所拥有的,而不是一个错误,它显示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服务器版本对应的手册,以便在'index,Type char(20)not null,Name varchar(50)not null index,Device_Descripti'第4行附近使用正确的语法
答案 0 :(得分:0)
您的代码中有很多错误。以下是我发现的一些内容:
index
应该是一个单独的行,而不是内联。ON UPDATE DEFAULT CURRENT_TIMESTAMP
。 。 。对于一列,该列应为datetime
。ON UPDATE USER()
。ON CREATE
。(注意:也许最新版本的MySQL 支持其中一些选项,但我看起来并不熟悉。)
我建议您从第一列开始创建表 - 比如通过注释掉所有其他列。然后,一次添加一列,并在遇到错误时修复错误。