您的 SQL 语法有误,请查看与您的 MySQL 服务器版本对应的手册以获取正确的语法 '(TO_BASE64(RANDOM_BYTES(16)



试图在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 Server版本:5.7.35 - mysql Community Server (GPL),协议版本:10,PHP版本:7.4.24

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

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

最新更新