IT

MySQL 5.7로 덤프 파일 가져오기

itgroup 2023. 9. 15. 20:57
반응형

MySQL 5.7로 덤프 파일 가져오기

서버 MariaDB 버전 10.1.9의 가상 열이 있는 테이블이 포함된 데이터베이스에서 만든 덤프 파일을 가져오려고 했습니다.다음은 .sql 파일의 일부입니다.

DROP TABLE IF EXISTS `abc`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `abc` (
`a` int(11) DEFAULT NULL,
`b` int(11) AS ((`a` + 1)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
-- Dumping data for table `abc`
LOCK TABLES `abc` WRITE;
/*!40000 ALTER TABLE `abc` DISABLE KEYS */;
INSERT INTO `abc` VALUES (2,3),(3,4),(3,4),(56,57);
/*!40000 ALTER TABLE `abc` ENABLE KEYS */;
UNLOCK TABLES;

MySQL 최신 버전이 가상 열을 지원하므로 가져오기에 성공할 것으로 예상했지만 다음 오류가 발생합니다.

Error Code: 3105 - The value specified for generated column 'b' in table 'abc' is not allowed.

이 오류를 방지할 수 있는 방법이 있습니까?그리고 데이터와 함께 덤프 파일을 MySQL 서버 버전 5.7.11로 가져올 수 있습니까?

Version 10.1.10을 확인했는데 잘 작동합니다.나는 먼저 당신의 CREATE로 테이블을 만들고 나는 그것을 버리고 가져옵니다.

-- MySQL dump 10.16  Distrib 10.1.10-MariaDB, for osx10.11 (x86_64)
--
-- Host: localhost    Database: bernd
-- ------------------------------------------------------
-- Server version   10.1.10-MariaDB-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `abc`
--

DROP TABLE IF EXISTS `abc`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `abc` (
  `a` int(11) DEFAULT NULL,
  `b` int(11) AS ((`a` + 1)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `abc`
--

LOCK TABLES `abc` WRITE;
/*!40000 ALTER TABLE `abc` DISABLE KEYS */;
INSERT INTO `abc` VALUES (1,2),(2,3),(3,4),(99,100);
/*!40000 ALTER TABLE `abc` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2016-02-15 13:50:24

언급URL : https://stackoverflow.com/questions/35409321/importing-a-dump-file-to-mysql-5-7

반응형