首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:执行SQL脚本文件后的错误

:执行SQL脚本文件后的错误
EN

Stack Overflow用户
提问于 2021-05-13 19:49:56
回答 2查看 240关注 0票数 0

我对编码完全陌生,在学习了一些HTML和CSS之后,我开始学习我的SQL。我已经安装了MSQL和MySQL工作台,并在熟悉面板之后开始使用它。我遇到的问题是,在从我正在做的文件夹中打开SQL文件并执行整个代码之后,我会收到这些错误消息,并且无法知道如何修复它。

错误:

代码语言:javascript
复制
01:00:18    DROP DATABASE IF EXISTS `sql_invoicing` 
0 row(s) affected, 1 warning(s): 1008 Can't drop database 'sql_invoicing'; database doesn't exist   0.000 sec

01:00:18    DROP DATABASE IF EXISTS `sql_invoicing` 
0 row(s) affected, 1 warning(s): 1008 Can't drop database 'sql_invoicing'; database doesn't exist   0.000 sec

01:00:18    DROP DATABASE IF EXISTS `sql_invoicing` 
0 row(s) affected, 1 warning(s): 1008 Can't drop database 'sql_invoicing'; database doesn't exist   0.000 sec

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-13 20:02:49

这些都不是错误。这些都是警告。警告与mysql中的错误不同,因为它们不会停止脚本的执行。

他们告诉您,没有sql_invoicing数据库,因此不需要运行命令就可以删除该数据库。这很好。

你完全可以忽略这些警告。它们只是为了向您提供更多的信息,并帮助您决定是否真正需要这些命令。例如,您可以完全删除那些删除的数据库命令,它不会对您的脚本产生丝毫影响。

但是,脚本在创建一个相同名称之前删除数据库是很好的做法,这样您的脚本在尝试创建数据库时不会发生真正的错误。如果发生这种情况,它将停止整个脚本,您将不得不修复错误并重新启动。错误如下所示:ERROR 1007 (HY000): Can't create database 'sql_invoicing'; database exists

就像现在一样,您可以检查您的数据库并查看它是否已经创建,并且所有其他命令都已成功运行。drop数据库命令没有运行,因为它们根本不需要运行。但是,如果您决定再次运行脚本,它们将运行,因为现在sql_invoicing数据库已经存在,因为它是在运行脚本时创建的。

还需要注意的是:如果在那些drop数据库语句中没有'IF it‘子句,那么它会抛出一个错误。或者,对于CREATE语句,您可以添加‘如果不存在’子句,这将确保在数据库已经存在的情况下也不会引发错误。

票数 -1
EN

Stack Overflow用户

发布于 2021-05-13 19:58:09

这是正常的行为。而不是抛出错误并停止所有活动。

您将收到警告,以下所有命令都将继续执行。

如果存在,则用于防止数据库不存在时发生错误。

来源

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67525358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档