mysql - 使用默认表达式时 MySQL 错误 1064
问题描述
我正在使用的 MySQL 8.0.12 实例似乎无法使用默认表达式定义表。
我直接从文档中粘贴了代码,除非我删除默认表达式并用文字默认值替换它们,否则我会收到错误 1064。
我知道某些引擎应该不支持所有默认表达式,但错误代码应该不同(ER_UNSUPPORTED_ACTION_ON_DEFAULT_VAL_GENERATED,3774)。
是否有一个我没有找到的服务器选项关闭默认表达式并只允许文字?
CREATE TABLE t1 (
-- literal defaults
i INT DEFAULT 0,
c VARCHAR(10) DEFAULT '',
-- expression defaults
f FLOAT DEFAULT (RAND() * RAND()),
b BINARY(16) DEFAULT (UUID_TO_BIN(UUID())),
d DATE DEFAULT (CURRENT_DATE + INTERVAL 1 YEAR),
p POINT DEFAULT (Point(0,0)),
j JSON DEFAULT (JSON_ARRAY())
);
解决方案
感谢@Raymond Niljand 的建议,我刚刚检查了发行说明,并且确实仅从 0.13 版本支持默认表达式。
阅读 CREATE TABLE 文档,我没有怀疑我正在查看一个 3 天前的功能,并且会在一个点版本和另一个版本之间添加如此重要的功能......
推荐阅读
- python - 如何抓取特定文本
Python 3 中的元素
- javascript - 创建树类别并在帖子中设置的结构更好?并在 MERN 中按所选类别查找帖子
- java - 登录和未登录用户的不同 UI 功能
- javascript - 如何创建具有更多变量的切换功能,而不仅仅是打开/关闭?
- javascript - 如何从反应组件调用用 html 根脚本编写的函数
- google-apps-script - FetchURL() 域搜索 Google Scripts 应用程序的错误处理
- java - 将 apache netbeans gradle 项目导出到 jar 文件
- javascript - 包括来自 MomentJs 的 .toISOString() 的持续时间响应中的年、月和日
- javascript - 重定向槽按钮 Onclick 时,REACT 得到“TypeError:无法读取未定义的属性‘props’”
- javascript - 使用 PHP/Javascript 获取访问者位置?