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

发布于 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语句,您可以添加‘如果不存在’子句,这将确保在数据库已经存在的情况下也不会引发错误。
发布于 2021-05-13 19:58:09
https://stackoverflow.com/questions/67525358
复制相似问题