需求说明:

  在创建表的时候,如果指定if not exists语句,有什么作用,在此做个实验,并且官方手册,

  理解下这个参数的作用.

操作过程:

1.创建测试表test01

mysql> create table test01 (id int);
Query OK, 0 rows affected (0.08 sec)

2.不指定if not exists语句,创建test01表

mysql> create table test01 (id int);
ERROR 1050 (42S01): Table 'test01' already exists

备注:如果不指定if not exists语句,创建同名表的时候就会报错.

3.指定if not exists语句创建表

mysql> create table if not exists test01 (id01 int);  #虽然字段不同,但是仍然不能创建.
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show warnings;
+-------+------+-------------------------------+
| Level | Code | Message |
+-------+------+-------------------------------+
| Note | 1050 | Table 'test01' already exists |
+-------+------+-------------------------------+
1 row in set (0.00 sec)

备注:指定了if not exists语句来创建表,虽然表名是存在的,但是创建没有报错,但是存在警告信息,警告中信息是表已经存在了.

另:两次创建的表,虽然字段不同不同,表名相同,还是不允许创建.

小结:

  1.如果指定了if not exists语句来创建表,如果表存在,也不会报错

  2.创建表的语句不会验证要创建的表与已经存在的表的结构是否一致,只要名字相同就不允许创建.

文档创建时间:2018年6月11日21:26:54

mysql中,创建表的时候指定if not exists参数的作用?的更多相关文章

  1. Myecilpse web +tomcat 项目: JSP在mysql中创建表

    <%@ page language="java" import="java.util.*" import="com.mysql.jdbc.Dri ...

  2. 使用PowerDesigner创建物理模型并生成SQL语句在MySQL中生成表

    我使用的PowerDesigner的版本为16.5,创建物理模型后,使用PowerDesigner生成的SQL语句,在MySQL中创建表. 1. 打开Power Designer软件,在弹出的欢迎对话 ...

  3. C# 利用mysql.data 在mysql中创建数据库及数据表

    C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...

  4. 在MySQL中创建实现自增的序列(Sequence)的教程

    这篇文章主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下 项目应用中,曾有以下一个场景: 接口中要求发送一个int ...

  5. MySql数据库创建表

    3.3.MySql数据库创建表 创建5个表: UserInfo用户基础表 Role 角色表 MenuInfo 菜单即控制表 Relation_Role_Menu 角色对应菜单关系表 RelaTion_ ...

  6. mysql 中创建存储过程

    mysql中创建存储过程和存储函数虽相对其他的sql语言相对复杂,但却功能强大,存储过程和存储函数更像是一种sql语句中特定功能的一种封装,这种封装可以大大简化外围调用语句的复杂程度. 首先以表emp ...

  7. EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

    官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...

  8. mysql中创建函数时报错信息

    报错信息如下 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its ...

  9. MySQL中多表删除方法(转载)

    如果您是才接触MySQL数据库的新人,那么MySQL中多表删除是您一定需要掌握的,下面就将为详细介绍MySQL中多表删除的方法,供您参考,希望对你学习掌握MySQL中多表删除能有所帮助. 1.从MyS ...

随机推荐

  1. C语言 · 彩票

    算法提高 彩票   时间限制:1.0s   内存限制:256.0MB      问题描述 为丰富男生节活动,贵系女生设置彩票抽奖环节,规则如下: 1.每张彩票上印有7个各不相同的号码,且这些号码的取值 ...

  2. [加密]展讯secureboot方案

    Secure Boot方案介绍及实施流程 转自网络 1. Secure boot概述 本文档主要是secure boot方案的介绍和说明,其内容会涵盖以下方面:secure boot的目的和介绍.技术 ...

  3. [phy]在uboot阶段失能phy芯片

    在uboot阶段power down掉phy芯片 uenvcmd=mdio 0x800; mmc rescan mdio为uboot支持命令 7:phy芯片地址 0:phy芯片工作模式寄存器地址 0x ...

  4. Rsync命令参数详解

    在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来.rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进 ...

  5. 网页QQ弹出

    <script language="javascript"> function cdyht(){ window.location.href='tencent://Mes ...

  6. mysql 慢查询时间

    只有当一个query执行时间(不包括锁等待的时间)>long_query_time的时候,才会判定会slow log: 但是判定为slow log之后,输出包括Query_time(执行时间+锁 ...

  7. 根据城市表生成json数据

    T_CityManager am = new T_CityManager(); string tou = "var LAreaData=["; string value = &qu ...

  8. MVC教程八:缓存过滤器

    缓存过滤器用来输出页面缓存,其用法如下图所示: 注意: Duration:表示缓存多少秒;VaryByParam:表示缓存是否随地址参数而改变.OutputCache除了可以定义在Action方法上面 ...

  9. jQuery中ajax和post处理json的不同

    近日在做门户的用户评论时,好长时间没有用jquery了正好用一下,没想到偷工用了post方法去处理ajax回调的json数据,死活取不到,后台就是有json返回了.不料这么小小一个问题挂了我好几个小时 ...

  10. How MapReduce Works

    转自:http://blog.csdn.net/luyee2010/article/details/8624470 一.从Map到Reduce MapReduce其实是分治算法的一种实现,其处理过程亦 ...