【问题标题】:PHPmyadmin won't accept CREATE TABLE statementPHPmyadmin 不接受 CREATE TABLE 语句
【发布时间】:2017-05-15 06:14:43
【问题描述】:

我正在尝试使用一个简单的 CREATE TABLE 语句在我的第一个 SQL 数据库中创建一个新表。 PHPmyadmin 不会接受代码并给我一个错误声明。

我的 SQL 命令的语法似乎没有任何问题。事实上,当我从任何 Internet 教程中复制并粘贴示例代码以创建表时,我都会收到相同的错误声明。

这是我的 SQL 命令:

CREATE TABLE Guestbook(
  ID int AUTO_INCREMENT PRIMARY KEY NOT NULL,
  Name varchar(50) NOT NULL,
  Message TEXT NOT NULL,
  Date datetime,
  Sport varchar(30),
  Practicioner BOOLEAN default 0,
)

这是错误声明:

Static analysis:

3 errors were found during analysis.

A symbol name was expected! (near "Name" at position 74)
Unexpected beginning of statement. (near "50" at position 87)
Unrecognized statement type. (near "NOT NULL" at position 91)
SQL query:

CREATE TABLE Guestbook( ID int AUTO_INCREMENT PRIMARY KEY NOT NULL,       Name varchar(50) NOT NULL, Message TEXT NOT NULL, Date datetime, Sport     varchar(30), Practicioner BOOLEAN default 0, )

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     ')' at line 8

我无法想象为什么这不起作用。我希望能够在 phpMyadmin 中使用命令行。这看起来很直接。然而,我多年来一直在摆弄它,我什至无法弄清楚如何创建最简单的表格。

谁能帮帮我?

【问题讨论】:

  • 你检查答案了吗?
  • 您使用的是哪个 phpMyAdmin 版本?

标签: sql phpmyadmin


【解决方案1】:

您应该删除CREATE 语句中的最后一个逗号:

CREATE TABLE Guestbook(
  ID int AUTO_INCREMENT PRIMARY KEY NOT NULL,
  Name varchar(50) NOT NULL,
  Message TEXT NOT NULL,
  Date datetime,
  Sport varchar(30),
  Practicioner BOOLEAN default 0
)

【讨论】:

  • 我现在觉得有点傻。这可能不会是最后一次了 :) 谢谢。