【问题标题】:mySQL error: You have an error in your SQL syntax (ENGINE=MyISAM)mySQL 错误:您的 SQL 语法有错误 (ENGINE=MyISAM)
【发布时间】:2012-10-06 03:00:49
【问题描述】:

我第一次遇到这样的错误,我意识到问题类似于这个问题>Error #1064 in mysql所以我将代码上的TYPE=MyISAM更改为ENGINE=MyISAM

但即使在更改之后,我也遇到了类似的错误。它说,

mySQL error: 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 '(14), PRIMARY KEY (id) ) ENGINE=M' at line 7.

我认为更改为 ENGINE=MyISAM 可以修复错误,但事实并非如此。我该怎么办?

这是我的代码:

  $queries[] = "CREATE TABLE IF NOT EXISTS {$prefix}conversationlog (
                    id int(11) NOT NULL auto_increment,
                    input text default '',
                    response text default '',
                    thatresponse text default '',
                    uid varchar(255) default NULL,
                    enteredtime timestamp(14),
                    PRIMARY KEY  (id)
                ) ENGINE=MyISAM";

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    错误在(14),而不是ENGINE=MyISAMTIMESTAMP 类型没有大小;它始终是时间戳大小的。

    【讨论】:

    • 错误,只是为了确保。所以我应该把enteredtime timestamp(14)改成enteredtime timestamp
    • 正确。顺便说一句,如果合适,您还应该将所有这些列指定为 NOT NULL
    • 所以应该是enteredtime timestamp NOT NULL?
    • 是的,对于所有其他列也是如此。 NOT NULLDEFAULT 之前。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多