大家好,我是小皓。

一、背景

今天在博主练习MYS创建表操作时遇到一个语法报错,就想着来和大家分享一下MYSQL如何在创建表时添加判断条件:

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 '[if not exists] tb_name(id int)' at line 1

上网一查才发现,原来是自己在代码中添加判断条件时多敲了一对 " [ ] "(源代码最文末)。

二、讲解

开始前,我们先来回顾一下基本步骤

在MYSQL中,想要对表格进行操作需要:

第一步:登录MYSQL账号

mysql -u账号 -p密码;

第二步:查看数据库

show databases;

第三步:进入想要操作的数据库

use 库名;

此时我们已经进入了选择的数据库里,可如果我们想要创建一个表,我们需要通过

show tables;

来查看当前数据库有哪些表,如果没有我们想要的表,就需要新创建一个(这里面我们创建一个名为test包含id的表:

create table test(id int);

可如果我们在不查看数据库的情况下直接创建表(如果想要创建的表存在就会报错),我们就需要引入判断条件 if not exists,它的作用是:如果创建的表存在则不再创建,如果创建的表不存在则创建表。具体用法如下(这里还用名为test的表举例):

create table if not exists test(id int);

这样就可以在我们不知道该表是否存在的情况下,省去查看数据库包含哪些表格的操作,为我们提供了一定的便利。

三、个人错误分析

小皓一开输入的时候写是:

create table [if not exists] test(id int);

这样就产生了背景里面的错误提示

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 '[if not exists] tb_name(id int)' at line 1

这下你知道小皓的错误在哪里了吗?

快在评论区留言告诉小皓吧~~

end...

MYSQL如何在创建表时添加判断条件的更多相关文章

  1. oracle中创建表时添加注释

    CREATE TABLE t1(id varchar2(32) primary key,name VARCHAR2(32) ,age VARCHAR2(32) );comment on column ...

  2. mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'

    问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错   1067 - Invalid default value ...

  3. Mysql 创建表时错误:Tablespace for table `tablexx` exists. Please DISCARD the tablespace before IMPORT.

    在本地的一个数据库创建表时意外的出现了以下错误,说是表已经存在了 但通过desc 查看表信息时又说表不存在 在本地系统搜索表名却发现一个.ibd文件[InnoDB File] 在删除了该.ibd文件文 ...

  4. mysql 创建表时注意事项

    mysql  创建表时注意事项 mysql 想必大家都不会陌生吧  是我学习中第一个接触的的数据库 已学习就很快上手的   这是一个关系型数据库  不懂什么是关系型数据库 啊哈哈哈  现在知道啦  因 ...

  5. MySQL创建表时加入的约束以及外键约束的的意义

    1,创建表时加入的约束 a) 非空约束,not null b) 唯一约束,unique c) 主键约束,primary key d) 外键约束,foreign key 1,非空约束,针对某个字段设置其 ...

  6. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...

  7. MySQL 创建表时,设置时间字段自己主动插入当前时间

    MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) N ...

  8. Oracle创建表时涉及的参数解析

    1.oracle pctfree和pctused详解   http://www.cnblogs.com/linjiqin/archive/2012/01/16/2323320.html http:// ...

  9. 使用hbase的api创建表时出现的异常

    /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Didea.launcher.port=7538 -Didea.launcher.bin.path=/usr/l ...

随机推荐

  1. Linux常用命令精华讲解 上部 (下部下回分解)不要催很忙的

    Linux常用命令讲解 1.Linux命令基础 2.Linux命令帮助 3.目录与文件的基操 1.Shell是系统中运行的一种特殊程序在用户和内核之间充当"翻译官"的角色,登录li ...

  2. 故障分析:网络闪断引发的ServiceStack.Redis死锁问题

    背景说明 某天生产环境发生进程的活跃线程数过高的预警问题,且一天两个节点分别出现相同预警.此程序近一年没出现过此类预警,事出必有因,本文就记录下此次根因分析的过程. 监控看到的线程数变化情况: 初步的 ...

  3. JVM学习——垃圾回收GC(学习过程)

    JVM学习-垃圾回收(GC) 2020年02月19日06:03:56,开始学习垃圾回收,学习资料来源(张龙老师的JVM课程) JVM内存数据区域知识复习 学习垃圾回收之前,要对JVM内部的内存区域有详 ...

  4. 图解python | 面向对象编程

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  5. ngixn隐藏版本号、指定404页面

    1.场景:部分系统服务器端返回的HTTP头中,泄露了服务器采用的中间件信息(类型,版本)nginx,apache,攻击者可以缩小攻击范围,针对中间件存在的漏洞发起攻击 修改:ngixn/bin/ngi ...

  6. python-利用shutil模块rmtree方法可以将文件及其文件夹下的内容删除

    import shutil import os image_path = os.path.join(os.path.dirname(__file__),'image') # 如果存在image目录则删 ...

  7. leetcode算法13.罗马数字转整数

    哈喽!大家好,我是[学无止境小奇],一位热爱分享各种技术的博主! [学无止境小奇]的创作宗旨:每一条命令都亲自执行过,每一行代码都实际运行过,每一种方法都真实实践过,每一篇文章都良心制作过. [学无止 ...

  8. Sqlmap数据库注入攻击

    实验目的 利用sqlmap命令破解出access数据中的admin的密码bfpns 实验原理 SQLMap是一个先进的自动化SQL注入工具,其主要功能是扫描.发现并利用给定的URL的SQL注入漏洞.目 ...

  9. 数据可视化地图制作教程,这个免费BI软件轻松搞定

    ​数据可视化地图制作教程 现在做数据分析基本上离不开数据可视化,在大量的数据中,有很大一部分数据都与地理信息相关,因此,在数据可视化中,可视化地图是非常重要的一部分.无论是新闻报道,还是商业分析报告, ...

  10. 国内外主流5款doshboard软件比较和对比

    大数据行业随着互联网的蓬勃发展中也越来越被人们看好,但是从事大数据行业的数据分析师经常会谈到dashboard,很多人就会疑惑什么是dashboard,下面就来了解一下Doshboard的发展. da ...