Ошибка MySQL при попытке создать таблицу, - PullRequest
0 голосов
/ 19 ноября 2018

Я использую PHPMyAdmin, размещенный на хосте hostgator, для добавления таблицы в базу данных, но постоянно получаю следующую ошибку:

1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с ') NOT NULL, note TEXT NOT NULL, cardNumber BIGINT (20) NOT NULL, `nameC' в строке 1

Вот что у меня есть: enter image description here и вот предварительный просмотр SQL

CREATE TABLE `nightwin_mark-inn`.`guests` (
    `id` INT(3) NOT NULL AUTO_INCREMENT , 
    `dateIn` DATE NOT NULL , 
    `dateOut` DATE NOT NULL , 
    `email` TEXT NOT NULL , 
    `phone` INT(10) NOT NULL , 
    `room` TINYINT(2) NOT NULL , 
    `price` DOUBLE(6) NOT NULL , 
    `note` TEXT NOT NULL , 
    `cardNumber` BIGINT(20) NOT NULL , 
    `nameCard` TEXT NOT NULL , 
    `expDate` TEXT NOT NULL , 
    `cvc` TINYINT(3) NOT NULL , 
    PRIMARY KEY (`id`)
)

Что вызывает эту проблему? У меня неправильная длина одного из полей?

Ответы [ 4 ]

0 голосов
/ 19 ноября 2018

попробуйте использовать эту инструкцию MySQL

CREATE TABLE guests (id INT (3) NOT NULL AUTO_INCREMENT, dateIn DATE NOT NULL, dateOut DATE NOT NULL, email TEXTNOT NULL, phone INT (10) NOT NULL, room TINYINT (2) NOT NULL, price DOUBLE (6,2) NOT NULL, note TEXT NOT NULL, cardNumber BIGINT (20) NOTNULL, nameCard TEXT NOT NULL, expDate TEXT NOT NULL, cvc TINYINT (3) NOT NULL, ПЕРВИЧНЫЙ КЛЮЧ (id));

0 голосов
/ 19 ноября 2018

Попробуйте использовать это

price` DOUBLE(6,2) NOT NULL   //9999.99 max value stored

вместо

price` DOUBLE(6) NOT NULL

Примечание: для поля цены используйте тип данных DECIMAL более предпочтительно.В FLOAT или DOUBLE тип данных вы получите номер округления

Ссылка

0 голосов
/ 19 ноября 2018
please try using this MySQL statement

CREATE TABLE `guests` ( `id` INT(3) NOT NULL AUTO_INCREMENT ,  `dateIn` DATE NOT NULL , `dateOut` DATE NOT NULL , `email` TEXT NOT NULL ,  `phone` INT(10) NOT NULL , `room` TINYINT(2) NOT NULL , `price` DOUBLE(6,2) NOT NULL ,  `note` TEXT NOT NULL , `cardNumber` BIGINT(20) NOT NULL , `nameCard` TEXT NOT NULL ,      `expDate` TEXT NOT NULL , `cvc` TINYINT(3) NOT NULL , PRIMARY KEY (`id`));
0 голосов
/ 19 ноября 2018

Вы можете попробовать ниже - DOUBLE(6) должно быть только DOUBLE

CREATE TABLE `nightwin_mark-inn`.`guests` ( `id` INT(3) NOT NULL AUTO_INCREMENT , 
`dateIn` DATE NOT NULL , `dateOut` DATE NOT NULL , `email` TEXT NOT NULL , 
`phone` INT(10) NOT NULL , `room` TINYINT(2) NOT NULL , `price` DOUBLE NOT NULL , 
`note` TEXT NOT NULL , `cardNumber` BIGINT(20) NOT NULL , `nameCard` TEXT NOT NULL , 
 `expDate` TEXT NOT NULL , `cvc` TINYINT(3) NOT NULL , PRIMARY KEY (`id`))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...