当前位置:   article > 正文

[Err] 1064 - You have an error in your SQL syntax;Navicat sql语句创建表出现的问题_1064 - you have an error in your sql syntax;

1064 - you have an error in your sql syntax;

一、问题描述:

sql语句创建stu表

-- 创建stu学生表
create table stu(
	sno char(9) PRIMARY KEY not null,
	sn varchar(30) not null,
	ssex char(2) check(ssex='男' or ssex='女') not null,
	snative varchar(30) not null,
	mno char(12) not null
)
-- 报错信息:
[Err] 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 'not null,
	snative varchar(30) not null,
	mno char(12) not null
)' at line 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

用以上的报错信息说明:

二、解决思路分享

我遇到这个问题的时候,我就立刻复制了报错信息到百度上找解决方案。
Ⅰ.遇到报错的时候,应该是学会看报错信息。

-- 报错信息:
[Err] 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 'not null,
	snative varchar(30) not null,
	mno char(12) not null
)' at line 5
  • 1
  • 2
  • 3
  • 4
  • 5

报错信息翻译:你的SQL语法有错误;查看MySQL服务器版本对应的手册,查看’not null '附近使用的语法是否正确。

在这里插入图片描述
分析报错信息:
①报错编号----自己实在是分析不出来错误是可以根据编号找解决方案
②报错描述----可以有道翻译,了解错误信息。比如:语法错误…
③报错sql语句----提示报错的sql语句,分析可能出错的地方
④报错具体位置----定位到哪一行代码

Ⅱ.改正错误并总结
分析所得:这次代码的报错是因为语法错误,具体位置是第五行的代码

ssex char(2) check(ssex='男' or ssex='女') not null,
  • 1

SQL CHECK 约束
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
使用了check、default约束,后面是不能使用not null约束的!!!

ssex char(2) check(ssex='男' or ssex='女'),
  • 1

Ⅲ.正确地创建stu学生表
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/612811
推荐阅读
相关标签