微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 MYSQL 版本6.0.11-alpha-community中创建生成列

如何解决如何在 MYSQL 版本6.0.11-alpha-community中创建生成列

我在 MysqL 版本 (6.0.11-alpha-community) 中创建了一个带有生成列的表

如下所示,我修改了 Generated Column 的结构

一:

CREATE TABLE tbl_MAE_Customers(
  ID INT AUTO_INCREMENT PRIMARY KEY,CustomerName VARCHAR(30),PhoneNmbr VARCHAR(15),Email VARCHAR(30),TCSShares INT,InfosysShares INT,TechmShares INT,TotalShares INT GENERATED ALWAYS AS (TCSShares+InfosysShares+TechmShares),Remarks VARCHAR(200)
)

两个:

CREATE TABLE tbl_MAE_Customers(
  ID INT AUTO_INCREMENT PRIMARY KEY,TotalShares INT  AS (TCSShares+InfosysShares+TechmShares),Remarks VARCHAR(200)
)

第三:

CREATE TABLE tbl_MAE_Customers(
  ID INT AUTO_INCREMENT PRIMARY KEY,Email varchar(30),TCSShares int,InfosysShares int,TechmShares int,TotalShares  as (TCSShares+InfosysShares+TechmShares),Remarks varchar(200)
)

我尝试通过多种方式修改生成列的结构,当我执行查询时出现以下错误

查询:CREATE TABLE tbl_MAE_Customers(ID INT AUTO_INCREMENT PRIMARY KEY,Email varchar...

错误代码:1064 您的 sql 语法有错误;检查与您的 MysqL 服务器版本相对应的手册,以获取在第 2 行的“GENERATED ALWAYS as (TCSShares+InfosysShares+TechmShares),Remarks varchar(200))”附近使用的正确语法

执行时间:0秒 传输时间:0 秒 总时间:0.001秒

我是 MysqL 的新手。

建议我如何在没有任何错误的情况下实现这一目标。

解决方法

您从 2009 年 5 月开始使用 MySQL 6.0 的 alpha 版本。6.0 分支从未脱离 alpha 状态。由于代码性能问题,它被取消了。老实说,您甚至可以找到它的副本,这真是令人惊讶!

MySQL 的进一步开发仍在继续,但版本变成了 5.6。我知道这很令人困惑,但 5.6 比 6.0 更先进。但即使是 5.6 现在也太老了,已经过了使用寿命。

表达式列的 GENERATED 语法是在 MySQL 5.7 中引入的。 MySQL 6.0 和 5.6 不支持生成的列。您必须使用当前版本才能获得对该功能的支持。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。