运行SQL脚本会出现语法错误

时间:2016-07-30 07:01:11

标签: mysql syntax-error mariadb archlinux

我编写了一个包含以下内容的sql脚本:

CREATE DATABASE IF NOT EXISTS stock_trading;

USE stock_trading;

CREATE TABLE IF NOT EXISTS transactions(
    user_name VARCHAR(30) NOT NULL,
    passwrd  BINARY(64) NOT NULL,
    balance_cash BIGINT NOT NULL DEFAULT 100000,
    PRIMARY KEY (user_name,passwrd),
)ENGINE=InnoDB;

每当我尝试在SQL命令提示符下运行它时,它会一直将错误消除为:

  

文件中第5行的错误1064(42000):'db_script.sql':您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,以便在第5行附近使用正确的语法')ENGINE = InnoDB'

脚本似乎是正确的,但我不知道为什么它一直给出这个错误。

其他信息:
操作系统Arch Linux
数据库MariaDB

1 个答案:

答案 0 :(得分:3)

您在表格定义的末尾有一个迷路逗号:

PRIMARY KEY (user_name,passwrd),
                              ^^^ remove this

您的全表定义:

CREATE TABLE IF NOT EXISTS transactions(
    user_name VARCHAR(30) NOT NULL,
    passwrd  BINARY(64) NOT NULL,
    balance_cash BIGINT NOT NULL DEFAULT 100000,
    PRIMARY KEY (user_name, passwrd)
) ENGINE=InnoDB;