2017-05-16 20 views
0

私はMySQLには新しく、Workbench 6.3.9 Community Editionでバージョン5.7.19-log(少なくともコマンドラインクライアントから取得したもの)を実行しています。ワークベンチのMySQLテーブル作成エラー

Operation failed: There was an error while applying the SQL script to the database. 
Executing: 
CREATE TABLE `travelportaldb`.`user` (
    `user_id` INT GENERATED ALWAYS AS() VIRTUAL, 
    `name` VARCHAR(45) NOT NULL, 
    `account_id` VARCHAR(15) NULL, 
    `account_currency` CHAR(3) NULL, 
    `account_balance` DECIMAL NULL, 
    PRIMARY KEY (`user_id`)); 

ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') VIRTUAL, 
    `name` VARCHAR(45) NOT NULL, 
    `account_id` VARCHAR(15) NULL, 
    `ac' at line 2 
SQL Statement: 
CREATE TABLE `travelportaldb`.`user` (
    `user_id` INT GENERATED ALWAYS AS() VIRTUAL, 
    `name` VARCHAR(45) NOT NULL, 
    `account_id` VARCHAR(15) NULL, 
    `account_currency` CHAR(3) NULL, 
    `account_balance` DECIMAL NULL, 
    PRIMARY KEY (`user_id`)) 

これは、それが生成されたスクリプトがある:私の問題は、私が生成されたスクリプトを実行したときしかし、それは私に次のエラーをスローし、UIを使用して、自動生成されたIDを持つ単純なテーブルを作成しようとしているされています。

CREATE TABLE `travelportaldb`.`user` (
    `user_id` INT GENERATED ALWAYS AS() VIRTUAL, 
    `name` VARCHAR(45) NOT NULL, 
    `account_id` VARCHAR(15) NULL, 
    `account_currency` CHAR(3) NULL, 
    `account_balance` DECIMAL NULL, 
    PRIMARY KEY (`user_id`)); 

何が間違っているかわかりません。私はオラクルのバックグラウンドから来ており、クエリは、私が分かりませんが離れて生成された自動を除いてうまくいくようです。

助けてください。

ありがとうございました。あなたは、MySQL Workbenchのgeneratedフラグをオンにすると

+0

私は仮想列を勉強していない、まだけど...それは空を持ってしても意味がありません定義? –

+0

Workbenchが何をしようとしているかわかりません。 Mysqlの自動インクリメントは、次のようなものでなければなりません: 'INT AUTO_INCREMENT' –

+0

' INTは常に(式)として生成されます。生成された列についてはこちらを参照してください。https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html – poncha

答えて

0

列には、フィールドが生成された列のために必要なオプションを設定できるようにビットを変更します詳細:

ここ

enter image description here

最も重要なのはExpression分野です。生成された列に対して、生成に使用される式を指定する必要があります。明らかにあなたはそれをしなかったので、生成されたSQLでは列定義が間違っています(空の括弧、式があるはずです)。

PS:あなたはまた、Sessionタブページで使用されるサーバのバージョンを見ることができます:

enter image description here

関連する問題