2014-09-22 144 views
0

有以下腳本:SQLite數據庫通過腳本創建

CREATE TABLE IF NOT EXISTS `location_cities` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `location_region_id` int(11) NOT NULL DEFAULT '0', 
    `location_district_id` int(11) DEFAULT NULL, 
    `location_country_id` int(11) NOT NULL DEFAULT '0', 
    `lon` float(11,8) NOT NULL DEFAULT '0.00000000', 
    `lat` float(11,8) NOT NULL DEFAULT '0.00000000', 
    `prefix` varchar(50) DEFAULT NULL, 
    `name` varchar(128) NOT NULL, 
    `size` int(3) NOT NULL DEFAULT '0' COMMENT 'Размер города', 
    `tz_name` varchar(128) DEFAULT NULL, 
    `timezone` varchar(100) NOT NULL DEFAULT '+00:00', 
    `timezone2` varchar(100) NOT NULL DEFAULT '+00:00', 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12393 ; 

當我嘗試使用來執行它的sqlite3的db/development.sqlite3 < alogist.sql「我有錯誤「錯誤:近27行:近「AUTO_INCREMENT」:?!語法錯誤」(27 - 符合‘CREATE_TABLE ......’那麼,有什麼麻煩如何解決呢謝謝

+1

這AUTOINCREMENT不是 'AUTO_INCREMENT'。在SQLLite中,不存在AUTO_INCREMENT。 – Ajit 2014-09-22 08:57:51

回答

1

SQLite中,自動增量列指定

INTEGER PRIMARY KEY AUTOINCREMENT 

用你的替換你的int(11) NOT NULL AUTO_INCREMENT

進一步的問題:

  • COMMENT不支持。刪除COMMENT 'Размер города'

  • 刪除PRIMARY KEY ( ID ) - 主鍵已被指定。

  • 刪除特定於MySQL的ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12393

0

SQLite的語法:

`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL