phpMyAdmin导入数据库报1064 SQL语法错误如何修复?
问题修复方案
你遇到的1064语法报错由3个语法问题共同导致,逐一修复即可:
- 注释语法不符合MariaDB/MySQL规范:MySQL单行注释要求两个短横线后必须跟空格,你写的
----User Table Create----无法被识别为合法注释,会被当做SQL语句执行直接触发语法报错。 - 约束定义后存在冗余逗号:最后一个CHECK约束的末尾多余逗号,属于建表语法的冗余错误。
- LIKE运算符用法不符合逻辑:MariaDB/MySQL的LIKE仅支持
%、_两种通配符,不支持方括号正则匹配规则,需要替换为REGEXP运算符实现u_ID的格式校验。
修复后完整可执行代码
-- User Table Create CREATE TABLE User_( u_ID char(5) NOT NULL, u_NIC char(12) NOT NULL, u_f_name varchar(50), u_l_name varchar(50), u_email varchar(50), u_address varchar(255), u_dob date, u_role varchar(20), constraint user_PK primary key(u_ID), constraint Uu_IDChk check(u_ID REGEXP '^[uU][0-9]{4}$') );
其中REGEXP '^[uU][0-9]{4}$'完全匹配你原需求:u_ID必须以大小写u开头,后接4位数字,长度固定为5位。
内容的提问来源于stack exchange,提问作者Among US
相关产品推荐
相关产品推荐

