MySQL сказал: Документация # 1064 — у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB

#mysql #sql

#mysql #sql

Вопрос:

Я пытаюсь импортировать файл SQL в базу данных, но сталкиваюсь с этой ошибкой. Пожалуйста, помогите, если кто-нибудь может решить эту ошибку.

SQL-запрос:

 CREATE TABLE IF NOT EXISTS `products` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `details` json NOT NULL,
  `expiration_date` date ,
  `barcode` varchar(125) COLLATE utf8mb4_unicode_ci,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `bundle_id` bigint(20) UNSIGNED NOT NULL,
  `shelf_id` bigint(20) UNSIGNED DEFAULT NULL,
  `delivery_request_id` bigint(20) UNSIGNED DEFAULT NULL,
  `status` int(11) NOT NULL DEFAULT '0',
  `quantity` int(11) NOT NULL DEFAULT '1',
  `weight` int(10) UNSIGNED NOT NULL,
  PRIMARY KEY (`id`),
  KEY `products_bundle_id_foreign` (`bundle_id`),
  KEY `products_shelf_id_foreign` (`shelf_id`),
  KEY `products_delivery_request_id_foreign` (`delivery_request_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
 

MySQL сказал: Документация

 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json NOT NULL,
  `expiration_date` date ,
  `barcode` varchar(125) COLLATE utf8m' at line 5
 

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

1. Какую версию вы используете?

2. Вы должны использовать версию MySQL <5.7

3. Я использую MySQL 5.7

4. Ваш оператор отлично работает в MySQL 5.7