#1064 — У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом ‘),

#mysql

#mysql

Вопрос:

 CREATE TABLE `NavigateNija`.`FUTA`(
  `Id` INT(255) NOT NULL AUTO_INCREMENT,
  `_RoadSideArea` CHAR(255)NOT NULL,
  `_Img` BLOB,
  `_Tamt` DOUBLE(10),
  `_MofT` CHAR(50),
  PRIMARY KEY(`Id`)
) ENGINE = InnoDB
  

MySQL сказал:

Документация #1064 — У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на наличие правильного синтаксиса для использования рядом '), `_MofT` CHAR(50), PRIMARY KEY(`Id`) ) ENGINE = InnoDB' со строкой 5

Комментарии:

1. DOUBLE . Похоже, вам нужно указать два числа (M и D) или ни одного. Возможно, вы намеревались DOUBLE(10,0) , но это неясно, и, по-видимому, продукт не угадывает.

2. Редко используется DOUBLE . ДЕСЯТИЧНОЕ число является более распространенным (и, я подозреваю, более подходящим в данном случае)

Ответ №1:

Отбросьте DOUBLE(10) и используйте DOUBLE:

  CREATE TABLE `FUTA`(
  `Id` INT(255) NOT NULL AUTO_INCREMENT,
  `_RoadSideArea` CHAR(255)NOT NULL,
  `_Img` BLOB,
  `_Tamt` DOUBLE,
  `_MofT` CHAR(50),
  PRIMARY KEY(`Id`)
) ENGINE = InnoDB;
  

ДВОЙНОЙ тип данных не принимает либо никаких параметров, либо двух параметров (количество цифр, разрешенных для хранения в number, и количество цифр, разрешенных после запятой). Ссылка

Комментарии:

1. Или откажитесь от DOUBLE , и продолжайте DECIMAL(m,n) . Преимущество типа с плавающей запятой IEEE заключается в хранении широкого диапазона значений, от невероятно огромных значений до бесконечно малых . Когда мы храним значения в ожидаемом диапазоне (например, суммы в долларах от пенни до триллиона долларов), мы обычно используем ДЕСЯТИЧНЫЙ тип данных.

2. Да, обычно лучший вариант, если мы не выполняем работу для НАСА