Импорт файла sql из phpmyadmin создать ошибку - PullRequest
0 голосов
/ 11 октября 2019

Я успешно создал резервную копию базы данных sql. Но всякий раз, когда вы пытаетесь импортировать, выдает ошибкуКак показано ниже:

MySQL said: Documentation

#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 'STORED,
  `purchase_gst` decimal(10,2) NOT NULL,
  `purchase_due` decimal(10,2' at line 8

Вот мой код, извлеченный из файла SQL:

DROP TABLE IF EXISTS `purchase`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `purchase` (
  `purchase_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `purchase_date` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `purchase_item` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `purchase_rate` decimal(10,2) DEFAULT NULL,
  `purchase_qty` decimal(10,2) NOT NULL,
  `purchase_from` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `purchase_gross` decimal(10,2) GENERATED ALWAYS AS ((`purchase_qty` * `purchase_rate`)) STORED,
  `purchase_gst` decimal(10,2) NOT NULL,
  `purchase_due` decimal(10,2) NOT NULL,
  `purchase_tcost` decimal(10,2) NOT NULL,
  `purchase_net` decimal(10,0) GENERATED ALWAYS AS (round(((`purchase_gross` + `purchase_gst`) + `purchase_tcost`),0)) STORED,
  PRIMARY KEY (`purchase_id`)
) ENGINE=InnoDB AUTO_INCREMENT=372 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

Ответы [ 2 ]

3 голосов
/ 11 октября 2019

Это зависит от вашей версии mySql. Эта синтаксическая ошибка sql показана ниже версии MySQL 5.7. Пожалуйста, проверьте это в версии MySQL 5.7, с которой работает код ниже:

DROP TABLE IF EXISTS `purchase`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `purchase` (
`purchase_id` bigint(20) NOT NULL AUTO_INCREMENT,
`purchase_date` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`purchase_item` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`purchase_rate` decimal(10,2) DEFAULT NULL,
`purchase_qty` decimal(10,2) NOT NULL,
`purchase_from` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`purchase_gross` decimal(10,2) GENERATED ALWAYS AS (`purchase_qty` * `purchase_rate`) STORED,
`purchase_gst` decimal(10,2) NOT NULL,
`purchase_due` decimal(10,2) NOT NULL,
`purchase_tcost` decimal(10,2) NOT NULL,
`purchase_net` decimal(10,0) GENERATED ALWAYS AS (round(((`purchase_gross` + 
`purchase_gst`) + `purchase_tcost`),0)) STORED,
 PRIMARY KEY (`purchase_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;`enter code here`
0 голосов
/ 11 октября 2019

Пожалуйста, проверьте версию MySQl. Это будет работать на MySQl 5.7 и более поздних версиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...