我是php和mysql的新手!所以我需要你帮忙!
我想创建一个登录/注册页面,然后我找到了一个教程。但每次我想将table.sql导入数据库时,都会出现以下错误:
#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 '( `id` int (5) NOT
NULL auto_increment, `usr` varchar (32) NOT NULL defaul' at line 4
这是表格的代码:
--
-- Table structure for table `tz_members`
--
CREATE DATABASE IF NOT EXISTS `tz_members` (
`id` int( 5 ) NOT NULL AUTO_INCREMENT ,
`usr` varchar( 32 ) NOT NULL default,
`pass` varchar( 32 ) NOT NULL default,
`email` varchar( 255 ) NOT NULL default,
`regIP` varchar( 15 ) NOT NULL default,
`dt` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY ( `usr` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT =6;
我希望你能帮助我! 谢谢你们!
答案 0 :(得分:2)
它应该是CREATE TABLE而不是CREATE DATABASE。
此外,由于您没有为所有列提供默认值,因此您必须从这些列中删除default关键字。
CREATE DATABASE IF NOT EXISTS `tz_members` (
`id` int( 5 ) NOT NULL AUTO_INCREMENT ,
`usr` varchar( 32 ) NOT NULL,
`pass` varchar( 32 ) NOT NULL,
`email` varchar( 255 ) NOT NULL,
`regIP` varchar( 15 ) NOT NULL,
`dt` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY ( `usr` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT =6;
答案 1 :(得分:2)
首先是创建表格而非创建数据库
现在语法有很多错误,比如
usr` varchar( 32 ) NOT NULL default,
当您指定默认值时,您需要添加一个值,例如您已为
执行此操作`dt` datetime NOT NULL default '0000-00-00 00:00:00',
这是正确的语法
CREATE table IF NOT EXISTS `tz_members` (
`id` int(5) NOT NULL AUTO_INCREMENT ,
`usr` varchar(32) NOT NULL ,
`pass` varchar(32) NOT NULL ,
`email` varchar(255) NOT NULL ,
`regIP` varchar(15) NOT NULL ,
`dt` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`) ,
UNIQUE KEY (`usr`)
) ENGINE MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT =6;