2016-07-30 6 views
2

Я написал сценарий SQL со следующим содержанием:Запуск 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 подсказывать продолжает раздавать ошибку как:

ОШИБКА 1064 (42000) в строке 5 в файле: 'db_script.sql': в вашем синтаксисе SQL имеется ошибка; проверьте руководство, которое соответствует версии сервера MariaDB для корректного синтаксиса использовать вблизи «) ENGINE = InnoDB» в строке 5

сценарий представляется правильным, но я не знаю, почему она продолжает давать эту ошибку ,

Дополнительная информация:
Операционная система: Arch Linux
Database: MariaDB

ответ

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; 
+0

иногда глупые ошибки самые трудные, но спасибо в любом случае – Anmol

+0

нужно подождать несколько минут, пока не сможете принять ответ не волнуйтесь, это было первое, что я сделал, это сработало для меня ... @Tim – Anmol