2016-05-17 85 views
1
#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 ') VIRTUAL, 
    `title_type` VARCHAR(45) NULL DEFAULT null, 
    PRIMARY KEY (`id`))' at line 2 

下面是腳本的一部分:#1064,xammp,phpMyAdmin,MYSQL - 爲什麼我在mySQL語法中出錯?

CREATE TABLE IF NOT EXISTS `sggis`.`maps_type` (
    `id` INT GENERATED ALWAYS AS() VIRTUAL, 
    `title_type` VARCHAR(45) NULL DEFAULT 'yandex', 
    PRIMARY KEY (`id`)) 
ENGINE = InnoDB; 

SQL說,問題出在2號線,但我不能找到它。 由MySQL Workbench生成的代碼。

回答

0

當使用VIRTUAL列,你需要指定表達

可以計算出 允許任何合法的,確定性的表達,但下列情況除外:

你的表達是空白。

+0

我是MySQL的新手,解決了無法編譯的問題。那麼你能舉一些例子嗎? expressiom ... Smth喜歡..呵呵...「id + 1」也許? :) –

+0

好,只是使用1應該是足夠的一個最小的例子 – e4c5

+0

因此,然後我得到了「#1904 - 鍵/索引不能定義在一個非存儲的計算列」 –