创建 table 不起作用

Create table does not work

我在 Maria DB Server.

中创建 table 时遇到问题

我可以在我的其他设备上成功制作 table,但是对于 MYSQL(可能使用不同的代码)。

查询:

CREATE TABLE admin (
    'id' double(9999) NOT NULL auto_increment, 
    'username' VARCHAR(50) NOT NULL,
    'passcode' VARCHAR(50) NOT NULL,
    'email' VARCHAR(50) NOT NULL,
    'state' VARCHAR(50) NOT NULL,
    'points' double(9999) not null,
    PRIMARY KEY(id) 
);

查询错误:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near "id' double(9999) NOT NULL auto_increment 'username' VARCHAR(50) NOT NULL, 'pa' at line 2

如果需要任何其他信息,请在评论中询问。

谢谢

您在 table 名称周围放置了单引号,MariaDB 将其解释为字符串文字。相反,直接使用不带引号的名称:

CREATE TABLE admin (
    id double(9999) NOT NULL auto_increment,
    username VARCHAR(50) NOT NULL,
    passcode VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    state VARCHAR(50) NOT NULL,
    points double(9999) not null,
    PRIMARY KEY(id)
);

如果您确实需要转义 MariaDB/MySQL 中的列名,例如因为名称有空格或者是关键字,您可以使用 backticks:

CREATE TABLE admin (
    `id` double(9999) NOT NULL auto_increment,
    `username` VARCHAR(50) NOT NULL,
    ...
)

但请注意,将空格放入列或 table 名称,或使用保留关键字,被认为是不好的做法。

您也可以将 PRIMARY KEY 放在 AUTO_INCREMENT

之后
CREATE TABLE admin (
    'id' double(9999) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    'username' VARCHAR(50) NOT NULL,
    'passcode' VARCHAR(50) NOT NULL,
    'email' VARCHAR(50) NOT NULL,
    'state' VARCHAR(50) NOT NULL,
    'points' double(9999) not null

);