【问题标题】:You have an error in your SQL syntax, check the manual that corresponds to your MySQL server version for the right syntax '(TO_BASE64(RANDOM_BYTES(16)您的 SQL 语法有错误,请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法 '(TO_BASE64(RANDOM_BYTES(16)
【发布时间】:2021-11-18 18:10:15
【问题描述】:

尝试在 phpmyadmin 中导入 sql 文件,但出现此错误:

CREATE TABLE IF NOT EXISTS `category` (
  `id` VARCHAR(32) NOT NULL  DEFAULT (TO_BASE64(RANDOM_BYTES(16))),
  `name` VARCHAR(200) NOT NULL,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  CONSTRAINT `UNIQUE_name` UNIQUE (`name`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

#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 '(TO_BASE64(RANDOM_BYTES(16))),
  `name` VARCHAR(200) NOT NULL,
  `created_at` DA' at line 2

mysql 服务器版本:5.7.35 - MySQL 社区服务器 (GPL), 协议版本:10, PHP版本:7.4.24

【问题讨论】:

    标签: mysql sql phpmyadmin


    【解决方案1】:

    在 8.0.13 版本之前,MySQL 不支持列的 DEFAULT 子句中的表达式。您必须升级您的 MySQL 服务器版本才能使用此功能。

    https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html#data-type-defaults-explicit

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多