数据库不导入
Database not importing
错误
##
--
-- Database: verticalned
-- --------------------------------------------------------
-- Table structure for table announcements
CREATE TABLE `announcements` (
`id` INT( 10 ) NOT NULL ,
`description` VARCHAR( 6000 ) DEFAULT NULL ,
`links` VARCHAR( 100 ) DEFAULT NULL ,
`first` TINYINT( 1 ) DEFAULT > NULL ,
`second` TINYINT( 1 ) DEFAULT NULL ,
`third` TINYINT( 1 ) DEFAULT NULL ,
`fourth` TINYINT( 1 ) DEFAULT NULL ,
`staff` VARCHAR( 22 ) DEFAULT NULL ,
`time` DATETIME( 2 ) DEFAULT NULL ,
`subject` VARCHAR( 100 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = latin1;
MySQL said: Documentation
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near '(2) DEFAULT NULL, subject
varchar(100) DEFAULT NULL )
ENGINE=InnoDB DEFAULT ' at line 20
版本
CREATE TABLE `announcements` (
`id` INT(10) NOT NULL,
`description` VARCHAR(6000) DEFAULT NULL,
`links` VARCHAR(100) DEFAULT NULL,
`first` TINYINT( 1 ) DEFAULT NULL ,
`second` TINYINT( 1 ) DEFAULT NULL ,
`third` TINYINT( 1 ) DEFAULT NULL ,
`fourth` TINYINT( 1 ) DEFAULT NULL ,
`staff` VARCHAR( 22 ) DEFAULT NULL ,
`time` DATETIME( 2 ) DEFAULT NULL ,
`subject` VARCHAR( 100 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = latin1;
显然您的代码没有任何问题。只需添加斜引号
您使用的 mysql 版本(可能早于 5.6.4)似乎不接受精度(小数秒)。您可以通过将 ..., time DATETIME(2) DEFAULT NULL ,...
替换为 ... , time DATETIME DEFAULT NULL ,...
来 绕过 问题。
但是,您应该解决问题,方法是将数据类型更改为 timestamp
或将 MySQL 服务器升级到高于 5.6.4 的版本
创建 TABLE 条公告(
id
整数不为空,
description
VARCHAR( 6000 ) 默认 NULL ,
links
VARCHAR( 100 ) 默认 NULL ,
首先TINYINT 默认为空,<br>
秒TINYINT 默认为空,<br>
第三个TINYINT DEFAULT NULL ,
第四个TINYINT 默认为空,<br>
staffVARCHAR(22) 默认为空,<br>
timeDATETIME DEFAULT NULL ,
subject` VARCHAR( 100 ) 默认 NULL
) ENGINE = INNODB 默认字符集 = latin1;
请从 INT 和 TINYINT 中删除字符编号,并添加您的代码应该工作的斜引号。
错误
##
--
-- Database:
verticalned
-- --------------------------------------------------------
-- Table structure for table
announcements
CREATE TABLE `announcements` (
`id` INT( 10 ) NOT NULL ,
`description` VARCHAR( 6000 ) DEFAULT NULL ,
`links` VARCHAR( 100 ) DEFAULT NULL ,
`first` TINYINT( 1 ) DEFAULT > NULL ,
`second` TINYINT( 1 ) DEFAULT NULL ,
`third` TINYINT( 1 ) DEFAULT NULL ,
`fourth` TINYINT( 1 ) DEFAULT NULL ,
`staff` VARCHAR( 22 ) DEFAULT NULL ,
`time` DATETIME( 2 ) DEFAULT NULL ,
`subject` VARCHAR( 100 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = latin1;
MySQL said: Documentation
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near '(2) DEFAULT NULL,
subject
varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT ' at line 20
版本
CREATE TABLE `announcements` (
`id` INT(10) NOT NULL,
`description` VARCHAR(6000) DEFAULT NULL,
`links` VARCHAR(100) DEFAULT NULL,
`first` TINYINT( 1 ) DEFAULT NULL ,
`second` TINYINT( 1 ) DEFAULT NULL ,
`third` TINYINT( 1 ) DEFAULT NULL ,
`fourth` TINYINT( 1 ) DEFAULT NULL ,
`staff` VARCHAR( 22 ) DEFAULT NULL ,
`time` DATETIME( 2 ) DEFAULT NULL ,
`subject` VARCHAR( 100 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = latin1;
显然您的代码没有任何问题。只需添加斜引号
您使用的 mysql 版本(可能早于 5.6.4)似乎不接受精度(小数秒)。您可以通过将 ..., time DATETIME(2) DEFAULT NULL ,...
替换为 ... , time DATETIME DEFAULT NULL ,...
来 绕过 问题。
但是,您应该解决问题,方法是将数据类型更改为 timestamp
或将 MySQL 服务器升级到高于 5.6.4 的版本
创建 TABLE 条公告(
id
整数不为空,
description
VARCHAR( 6000 ) 默认 NULL ,
links
VARCHAR( 100 ) 默认 NULL ,
首先TINYINT 默认为空,<br>
秒TINYINT 默认为空,<br>
第三个TINYINT DEFAULT NULL ,
第四个TINYINT 默认为空,<br>
staffVARCHAR(22) 默认为空,<br>
timeDATETIME DEFAULT NULL ,
subject` VARCHAR( 100 ) 默认 NULL
) ENGINE = INNODB 默认字符集 = latin1;
请从 INT 和 TINYINT 中删除字符编号,并添加您的代码应该工作的斜引号。