【问题标题】:I have an error in my SQL syntax我的 SQL 语法有错误
【发布时间】:2012-05-24 22:58:33
【问题描述】:

我是 php 和 sql 的新手,但我试图在我的网站中实现这个脚本。无法弄清楚什么是折旧或不正确的。提前感谢您的帮助。

$query = "CREATE TABLE `$SET9` (`comment` mediumtext NOT NULL, `time` timestamp(14) 
NOTNULL, `image` TEXT NOT NULL default '', `title` varchar(80) NOT NULL default '', `uid`
int(4) NOT NULL auto_increment, `comments` int(11) NOT NULL default '0',  `postedBy` 
varchar(80) NOT NULL default '', PRIMARY KEY  (`uid`))";
        $result = @mysql_query ($query);

【问题讨论】:

  • 你的第二个不为空是一个词。如果您将错误告诉我们,我们可以提供更好的帮助
  • 你应该显示错误信息。
  • 为@Kyra +1。此外,comments 字段不需要在 0 周围加上单引号(因为它的数据类型是整数。
  • 不要@suppress 错误消息并在查询失败后检查mysql_error()!然后你可以自己解决这个问题。
  • 这里是错误消息“这是错误:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 '(14) NOT 附近使用的正确语法NULL, image TEXT NOT NULL default '', title varchar(80) NOT NULL de' 在第 1 行" 谢谢大家。

标签: php sql syntax


【解决方案1】:
CREATE TABLE `$SET9` (`comment` mediumtext NOT NULL, `time` timestamp(14) 
NOT NULL, `image` TEXT NOT NULL default '', `title` varchar(80) NOT NULL default '', `uid`

-- ^ put a space here   

int(4) NOT NULL auto_increment, `comments` int(11) NOT NULL default '0',  `postedBy` 
varchar(80) NOT NULL default '', PRIMARY KEY  (`uid`))

更新:

TIMESTAMP 不接受 MySQL 中的修饰符。试试这个:

CREATE TABLE `$SET9` (`comment` mediumtext NOT NULL, `time` timestamp

--                                                                   ^ nothing here

NOT NULL, `image` TEXT NOT NULL default '', `title` varchar(80) NOT NULL default '', `uid`
int(4) NOT NULL auto_increment, `comments` int(11) NOT NULL default '0',  `postedBy` 
varchar(80) NOT NULL default '', PRIMARY KEY  (`uid`))

【讨论】:

  • Quas,缺少的空间只是我发这篇文章时的格式问题。
  • @Keller:请删除评论并彻底检查空格。它适用于我的机器。
  • 你是对的,但现在我遇到了这个问题。 stackoverflow.com/questions/10746827/… 给您带来不便,敬请原谅。
  • @Keller:如果此答案对您有用,请将其标记为已接受。我的昵称是 Quassnoi。
猜你喜欢
  • 2020-07-09
  • 1970-01-01
  • 2017-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 2020-12-27
相关资源
最近更新 更多