【发布时间】:2015-10-04 04:05:01
【问题描述】:
“CREATE DATABASE database_name”和“CREATE DATABASE IF NOT EXISTS database_name”之间的实际区别是什么?
【问题讨论】:
-
第二个是可重新运行的脚本。与第一个不同,执行多少次不会抛出错误
“CREATE DATABASE database_name”和“CREATE DATABASE IF NOT EXISTS database_name”之间的实际区别是什么?
【问题讨论】:
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 不会返回错误(它什么也不做)。
当您编写脚本时(假设您创建数据库,然后创建表,然后插入一些数据),您不希望仅仅因为数据库退出而停止执行,因此您使用第二个查询。
【讨论】:
只有一件事:
如果数据库存在并且您没有指定 IF NOT,则会发生错误 存在。
https://dev.mysql.com/doc/refman/5.5/en/create-database.html
基本上是为了:错误管理。
【讨论】: