MySQL创建accesslogh表执行CREATE TABLE报错1064求助
错误1064建表语法错误修复指南
问题根因
- 标识符引用错误:MySQL中表名、字段名属于标识符,不能用单引号
'包裹,单引号仅用于包裹字符串字面量。你的语句中用单引号包裹表名accesslogh,是触发本次报错的直接原因。标识符如果需要转义(比如包含空格、关键字等场景),要使用反引号`(键盘ESC键下方的按键)包裹,普通合法标识符也可以不加任何引号。 - 字段默认值类型不匹配:
CURRENT_TIMESTAMP是时间戳类型的返回值,不能作为DATE类型字段的默认值。DATE类型仅存储年月日,如果你需要自动记录插入时间,需要将对应字段的类型调整为DATETIME或者TIMESTAMP。另外timestamp本身是MySQL的关键字,作为字段名使用时建议用反引号包裹避免歧义。
修复后SQL语句
CREATE TABLE `accesslogh` ( id INT(30) PRIMARY KEY AUTO_INCREMENT NOT NULL, name VARCHAR(255), result VARCHAR(255), type VARCHAR(255), code VARCHAR(255), epoch INT(30), `timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
内容的提问来源于stack exchange,提问作者VSacudato
相关产品推荐
相关产品推荐

