2014-04-03 93 views
0
CREATE TABLE IF NOT EXISTS `pforum` 

( 
    pf_id int(10) NOT NULL auto_increment, 
    pf_name varchar(50) NOT NULL, 
    pf_title varchar(255) NOT NULL, 
    pf_ppost varchar(1000) NOT NULL, 
    pf_aud varchar(20) NOT NULL, 
    pf_username varchar(20) NOT NULL, 
    pf_date timestamp(14) NOT NULL, 
    pf_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pr_id) 

    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; 

    CREATE TABLE IF NOT EXISTS `p_reset` 
( 
    pr_id int(10) NOT NULL auto_increment, 
    pr_name varchar(50) NOT NULL, 
    pr_email varchar(255) NOT NULL, 
    pr_dob varchar(20) NOT NULL, 
    pr_roll varchar(20) NOT NULL, 
    pr_date timestamp(14) NOT NULL, 
    pr_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pr_id)) ; 

我已经检查可能的原因,但我仍然得到一个错误1064。错误CREATE TABLE MYSQL:语法

回答

1
pf_date timestamp(14) NOT NULL, 

pf_date timestamp NOT NULL, 

pr_date timestamp(14) NOT NULL, 

pr_date timestamp NOT NULL, 

这里是正确的

CREATE TABLE IF NOT EXISTS `pforum` 

( 
    pf_id int(10) NOT NULL auto_increment, 
    pf_name varchar(50) NOT NULL, 
    pf_title varchar(255) NOT NULL, 
    pf_ppost varchar(1000) NOT NULL, 
    pf_aud varchar(20) NOT NULL, 
    pf_username varchar(20) NOT NULL, 
    pf_date timestamp NOT NULL, 
    pf_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pf_id) 

    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; 

    CREATE TABLE IF NOT EXISTS `p_reset` 
( 
    pr_id int(10) NOT NULL auto_increment, 
    pr_name varchar(50) NOT NULL, 
    pr_email varchar(255) NOT NULL, 
    pr_dob varchar(20) NOT NULL, 
    pr_roll varchar(20) NOT NULL, 
    pr_date timestamp NOT NULL, 
    pr_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pr_id)) ; 

您在第一个create语句中也有错误的键名称。

http://sqlfiddle.com/#!2/dd3e4f/1

+2

谢谢,但我仍然得到一个错误:#1064 - 你有一个错误的SQL语法; (14)NOT NULL, pf_status int(1)DEFAULT 0 NOT NULL, PRIMARY KEY(p'在第8行) –

+1

@RafedNole,don '不喜欢这样,我会找到正确的答案,那么你为什么喜欢在这篇文章中打出答案 – jmail

+0

@jmail我不认为你确实发现了错误的关键名称的问题!!但是,对于我的知识,我已经upvoted你的回答!! CHEK我的最后一次编辑完成时 –

1

你应该删除长度值:timestamp

pr_date timestamp(14) NOT NULL, 

想改变:

pr_date timestamp NOT NULL, 

看起来像你的全码:

CREATE TABLE IF NOT EXISTS `pforum` 

( 
    pf_id int(10) NOT NULL auto_increment, 
    pf_name varchar(50) NOT NULL, 
    pf_title varchar(255) NOT NULL, 
    pf_ppost varchar(1000) NOT NULL, 
    pf_aud varchar(20) NOT NULL, 
    pf_username varchar(20) NOT NULL, 
    pf_date timestamp NOT NULL, 
    pf_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pf_id) 

    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; 

CREATE TABLE IF NOT EXISTS `p_reset` 
( 
    pr_id int(10) NOT NULL auto_increment, 
    pr_name varchar(50) NOT NULL, 
    pr_email varchar(255) NOT NULL, 
    pr_dob varchar(20) NOT NULL, 
    pr_roll varchar(20) NOT NULL, 
    pr_date timestamp NOT NULL, 
    pr_status int(1) DEFAULT 0 NOT NULL, 
    PRIMARY KEY (pr_id)) ; 

http://dev.mysql.com/doc/refman/5.5/en/datetime.html

+0

看看我的回答 – jmail

+0

写int(14)有什么不对吗? –

+1

是的,这是错误的格式,你应该重新考虑这些想法,因为时间戳显示时间和日期,所以不要给'长度' – jmail