AVXNWNK
@AVXNWNK
Middle DevOps-engineer

Из-за чего не выполняется SQL запрос в базу данных?

В общем, проблема такова: не выполняется текстовый SQL-запрос в базу данных на создание таблицы с полями. Сначала эта ошибка была выведена через mysql_error(); на php, но потом попробовав сделать запрос в phpMyAdmin понял, что ошибка не в php коде.

Запрос:
CREATE TABLE IF NOT EXISTS `entries` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`stamp` TIMESTAMP NOT NULL,
`name` CHAR(30) CHARACTER SET utf8 NOT NULL,
`desc` TEXT CHARACTER SET utf8 NOT NULL,
`creator` CHAR(30) CHARACTER SET utf8 NOT NULL,
`price` INT(10) NOT NULL,
`weight` REAL(10) NOT NULL,
`material` CHAR(30) CHARACTER SET utf8 NOT NULL,
`made` CHAR(30) CHARACTER SET utf8 NOT NULL,
`size` REAL(10) NOT NULL,
`condition` CHAR(30) NOT NULL
)

Ошибка:
870dc8092c7c4502a3795cba4ee75932.png
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
CREATE TABLE IF NOT EXISTS `entries` (
`id` INT NOT NULL AUTO_INCREMENT,
`stamp` TIMESTAMP NOT NULL,
`name` CHAR(30) CHARACTER SET utf8 NOT NULL,
`desc` TEXT CHARACTER SET utf8 NOT NULL,
`creator` CHAR(30) CHARACTER SET utf8 NOT NULL,
`price` INT(10) NOT NULL,
`weight` REAL(10,4) NOT NULL,
`material` CHAR(30) CHARACTER SET utf8 NOT NULL,
`made` CHAR(30) CHARACTER SET utf8 NOT NULL,
`size` REAL(10,4) NOT NULL,
`condition` CHAR(30) NOT NULL,
PRIMARY KEY (`id`)
)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Immortal_pony
@Immortal_pony Куратор тега MySQL
Размерность для INT забыта.
Должно быть как-то так:
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
Ответ написан
Комментировать
Adamos
@Adamos
REAL описывается не одним размером, а двумя - сколько цифр всего и цифр после точки.
REAL(10,2) - например.
Собственно, для цен логичнее использовать специально для них созданный DECIMAL. С аналогичным описанием.
Ответ написан
Комментировать
AVXNWNK
@AVXNWNK Автор вопроса
Middle DevOps-engineer
Запрос был выполнен с таким кодом:
CREATE TABLE IF NOT EXISTS `entries` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`stamp` TIMESTAMP NOT NULL,
`name` CHAR(30) CHARACTER SET utf8 NOT NULL,
`desc` TEXT CHARACTER SET utf8 NOT NULL,
`creator` CHAR(30) CHARACTER SET utf8 NOT NULL,
`price` INT(10) NOT NULL,
`weight` REAL(5,2) NOT NULL,
`material` CHAR(30) CHARACTER SET utf8 NOT NULL,
`made` CHAR(30) CHARACTER SET utf8 NOT NULL,
`size` REAL(5,2) NOT NULL,
`condition` CHAR(30) NOT NULL,
PRIMARY KEY (`id`)
)

Всем спасибо!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы