相关文章推荐
彷徨的斑马  ·  Platform.OnRequestPerm ...·  8 月前    · 
绅士的酱牛肉  ·  Docker ...·  1 年前    · 
安静的手套  ·  docker - How can I ...·  1 年前    · 

MySQL创建表 错误代码1064

用sqlyog图形化界面写的语句复制如下:

CREATE TABLE `student`.`student`( `id` INT(12) NOT NULL AUTO_INCREMENT, `name` VARCHAR(23), PRIMARY KEY (`id`) );

sqlyog中截图如下:
这里写图片描述

我在sqlyog中手动代码创建表语句如下:

CREATE TABLE 'student'.'student_info'( 'stu_id' INT(12) NOT NULL AUTO_INCREMENT, 'stu_name' VARCHAR(23), PRIMARY KEY ('stu_id') );

大家能看出什么区别吗?原来是单引号的问题,要用用键盘左上角的~那个键的引号,才是对的,而不是英文的单引号,用英文的单引号会提示1064错误代码如下:

1 queries executed, 0 success, 1 errors, 0 warnings
查询:CREATE TABLE 'student'.'student_info'( 'stu_id' INT(12) NOT NULL AUTO_INCREMENT, 'stu_name' VARCHAR(23), PRIMARY KEY ('stu_id') ...
错误代码: 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 ''student'.'student_info'( 'stu_id' INT(12) NOT NULL AUTO_INCREMENT, 'stu_name' V' at line 1
执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0.001 sec

报1064错误另外还要注意字段名不要是mysql关键字。

另一种解决办法:不要加引号,避免关键字,也可以成功创建表。比如下面这条sql语句:

 create table teach_info (id int(11), name varchar(11) );

也能成功创建表teach_info
这里写图片描述

在插入语句时也出现了这种由于引号引起的错误情况:

这里写图片描述
    这是执行第6行sql语句报的错,原因是VALUES 后面的周杰伦用的是键盘左上角的引号,这里应该用英文的单引号,其中第7行sql语句是自动生成的语句(正确的格式)。第5行语句则错在字段用单引号错误。
    所以总结就是:用键盘左上角引号的字段,其实可以不用添加那个引号,就直接写字段就好,而添加的值等用英文的单引号引起来。

1005:创建失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误1032:记录不存在1036:数据是只读的,不能对它进行修改1037:系统内存不足,请重启数据库或重启服务器1038:用于排序 尝试创建时出现错误1064(Error 1064 when trying to create a table)这是代码:create table `team`.`User`(`UserID` bigint NOT NULL AUTO_INCREMENT ,`Username` text(30) NOT NULL ,`Email` text(30) NOT NULL ,PRIMARY KEY (`... CREATE TABLE `tb_user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(45) NOT NULL , `password` VARCHAR(96) NOT NULL, `name` VARCHAR(45) NOT NULL , `birthday` DATETIME DEFAULT NULL , `sex` CHAR(1) DEFAULT NULL , 我在自己搭建的mysql服务中,在使用create table创建时报了1064错误,尝试网上找了各种解决方法,最后还是被自己试着解决了。解决的有的稀里糊涂的,毕竟我自己对数据库知识还没个很清晰的认知。废话不多说了,下面看我的解决历程吧。 自己创建的初衷:想要从无到有的尝试 set names utf8 set foreign_key_checks=0 drop table if exists... I am trying to create a table in MySQL with the queryCREATE TABLE ofRosterGroups (rosterID BIGINT NOT NULL,rank TINYINT NOT NULL,groupName VA... 下面的Error信息,大家看着挺熟悉的吧。 ERROR 1064 (42000):ERROR 1064 (42000): 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 'DEC Could someone please tell me what's wrong with this code that's making it spit back an error?My code is as follows:CREATE OR REPLACE VIEW vw_training ASSELECT training.train_attended, clients.client_f... 1、打开注册,修改HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\SYSMAN\OracleDBConsoleorcl里ORACLE_SID对应键值,如果还有其它的项也一并修改以orcl修改为testdb为例···2、以管理员权限运行cmd,执行(用nid更改dbname,oradim新建实例)### nid会修改控制文件,可能会导致启动时出现错误:ORA-01103: ?...