gpt4 book ai didi

工作台中MySQL表创建错误

转载 作者:行者123 更新时间:2023-11-29 06:59:43 27 4
gpt4 key购买 nike

我是 MySQL 新手,我正在运行版本 5.7.19-log(至少这是我从命令行客户端获得的)和 Workbench 6.3.9 社区版。我的问题是我正在尝试使用 UI 创建一个带有自动生成 id 的简单表,但是当我执行生成的脚本时,它会抛出以下错误:

  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`))

这是它生成的脚本:

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 中打开 generate 标志时,列详细信息字段将发生一些变化,以允许为生成的列设置所需的选项:

enter image description here

这里最重要的是Expression字段。对于生成的列,您必须指定用于生成的表达式。显然您没有这样做,因此在生成的 SQL 中,列定义是错误的(空括号,其中应该是表达式)。

PS:您还可以在Session标签页中查看所使用的服务器版本:

enter image description here

关于工作台中MySQL表创建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com