【问题标题】:difference -in "Create databse" and "create database if not exists"区别 -“创建数据库”和“如果不存在则创建数据库”
【发布时间】:2015-10-04 04:05:01
【问题描述】:

CREATE DATABASE database_name”和“CREATE DATABASE IF NOT EXISTS database_name”之间的实际区别是什么?

【问题讨论】:

  • 第二个是可重新运行的脚本。与第一个不同,执行多少次不会抛出错误

标签: php mysql sql


【解决方案1】:

CREATE DATABASE IF NOT EXISTS database_name 将仅在 database_name 不存在时执行 CREATE DATABASE database_name

如果database_name 没有退出,两个查询将执行相同的工作,即创建database_name

如果database_name 退出,CREATE DATABASE database_name 将返回类似于“数据库 'database_name' 已存在”的错误,而CREATE DATABASE IF NOT EXISTS database_name 不会返回错误(它什么也不做)。

当您编写脚本时(假设您创建数据库,然后创建表,然后插入一些数据),您不希望仅仅因为数据库退出而停止执行,因此您使用第二个查询。

【讨论】:

    【解决方案2】:

    只有一件事:

    如果数据库存在并且您没有指定 IF NOT,则会发生错误 存在。

    https://dev.mysql.com/doc/refman/5.5/en/create-database.html

    基本上是为了:错误管理。

    【讨论】:

      猜你喜欢
      • 2015-12-03
      • 2017-03-13
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      相关资源
      最近更新 更多