MySQL을 처음 사용하고 Workbench 6.3.9 Community Edition에서 버전 5.7.19-log (적어도 명령 행 클라이언트에서 얻은 것)를 실행 중입니다.Workbench에서 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의 워크 벤치에서 generated
플래그를 전환 할 때
을하지만 ... 그것은 빈을 가지고 의미가 않습니다 정의? –
Workbench가 수행하려고하는 것이 확실하지 않습니다. Mysql에서의 자동 증가는 다음과 같아야합니다 :'INT AUTO_INCREMENT' –
'INT 생성 항상 (표현식)'<- 비어 있지 않은 표현식을 기대합니다. 생성 된 열에 대해서는 다음을 참조하십시오. https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html – poncha