'SQL :: Translator'모듈을 사용하여 MySQL 덤프를 sqlite로 변환하는 perl 스크립트가 있습니다.mysql을 sqlite로 변환하는 중 오류가 발생했습니다.
MySQL의 파일은 다음과 같습니다
CREATE TABLE `table1` (
`id1` char(4) NOT NULL,
`text1` char(2) NOT NULL,
`text2` char(2) NOT NULL,
`text3` enum('N','Y') NOT NULL,
UNIQUE KEY `id1` (`id1`,`text1`,`text2`),
CONSTRAINT `table1_ibfk_1` FOREIGN KEY (`id1`) REFERENCES `table2` (`id1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
'SQL :: 번역기'모듈을 사용하여 최종 SQL로 변환하는 동안, 나는 마지막 SQL에서 다음 줄을 얻고있다 :
CREATE INDEX "table1" ON "table2" ("table1");
이를 변환 할 때 sqlite3 명령을 사용하여 sqlite에 대한 최종 sql 파일을 열면 다음 오류가 발생합니다.
내가 최종 SQL에서 선'CREATE INDEX "table1" ON "table2" ("table1");'
을 제거하기 위해 노력했다
there is already an index named table1 Error: near line 540: no such table: main.table1
는 다음 괜찮 았는데. MySQL을 달리
여기에 일관성이없는 것으로 보입니다. 스크립트를 그대로 붙여 넣을 수 있습니까? 'table1'은 실제로'table2'에있는 컬럼의 이름입니까? –
왜이 변환을 수행 하시겠습니까? 테스트 데이터베이스를 만들려면 https://metacpan.org/pod/Test::mysqld를보십시오. SQLite는 데이터베이스로 사용하기에 적합하지 않으며 외래 키 제약 조건을 무시합니다 (예 : – plusplus