2012-08-30 3 views
1

내 sql 구문에 무슨 문제가 있는지 궁금합니다. mysql에서 작동하지만 sqlite에서는 오류가 발생합니다.SQlite 구문에서 오류가 발생했습니다. 무엇이 잘못 되었습니까?

CREATE TABLE IF NOT EXISTS `points` (
            `id` int(11) NOT NULL AUTO_INCREMENT, 
            `name` varchar(50) CHARACTER SET latin1 NOT NULL, 
            `longitude` double NOT NULL, 
            `latitude` double NOT NULL, 
            `radius` double NOT NULL, 
            `image` blob NOT NULL, 
            PRIMARY KEY (`id`) 
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=4; 

INSERT INTO `points` (`id`, `name`, `longitude`, `latitude`, `radius`, `image`) 
VALUES  (1, 'Isfahan, Iran', 51.678314, 32.65036, 0.064486, 
      0xffd8ffe000104a46494600010001009600960000fffe001f4c45414420546563686e6f6c6f6769657320496e632e2056312e303100ffdb008400100b0c0e0c0a100e0d0e1211101318281a181616183123251d283b343e3d3a34393841495d4f414558463839516f52586063696a693f4e737b72667a5d676964011112121815182f1a1a2f644339436464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464ffc4003000000203010000000000000000000000000001020304050101010101010100000000000000000000000102030405ffc20011 
+1

내 생각에 ** AUTOINCREMENT **는 하나의 단어입니다 - http://www.sqlite.org/autoinc.html –

+1

사실이 성명서에는 mySql에 해당하는 것들이 많이있는 것처럼 보입니다. –

+0

예,'ENGINE = MyISAM 예를 들어. –

답변

3
  1. 그것은 하나 개의 단어로 AUTOINCREMENT해야한다.

  2. 당신은이 문장이 필요하지 않습니다 : ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=4; 이것은 MySQL에 따라 다릅니다. 또한 자동 증가 값을 5에서 시작하도록 설정하는 경우 값 1의 id를 삽입하면 안됩니다.

  3. 삽입 문 다음에 닫는 대괄호가없는 것 같습니다.

대신 시도해야합니다 :

CREATE TABLE IF NOT EXISTS `points` (
            `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
            `name` varchar(50) CHARACTER SET latin1 NOT NULL, 
            `longitude` double NOT NULL, 
            `latitude` double NOT NULL, 
            `radius` double NOT NULL, 
            `image` blob NOT NULL 
            ); 

INSERT INTO `points` (`id`, `name`, `longitude`, `latitude`, `radius`, `image`) 
VALUES  (1, 'Isfahan, Iran', 51.678314, 32.65036, 0.064486, 
      0xffd8ffe000104a46494600010001009600960000fffe001f4c45414420546563686e6f6c6f6769657320496e632e2056312e303100ffdb008400100b0c0e0c0a100e0d0e1211101318281a181616183123251d283b343e3d3a34393841495d4f414558463839516f52586063696a693f4e737b72667a5d676964011112121815182f1a1a2f644339436464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464ffc4003000000203010000000000000000000000000001020304050101010101010100000000000000000000000102030405ffc20011); 

뿐만 아니라 필요한 많은 수정이있을 수 있습니다. SQLite에 의해 인식 되긴하지만 역 추적은 MySQL 특정 인용입니다.

관련 문제