#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. Да, обычно лучший вариант, если мы не выполняем работу для НАСА