MySQL创建表 错误代码1064

来源:互联网 发布:禁止在淘宝网上出售 编辑:程序博客网 时间:2024/05/20 11:50

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') ...错误代码: 1064You 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行语句则错在字段用单引号错误。
    所以总结就是:用键盘左上角引号的字段,其实可以不用添加那个引号,就直接写字段就好,而添加的值等用英文的单引号引起来。

原创粉丝点击