我正在尝试处理脚本dbcreate_f.sql和dbload_f.sql来创建并将数据加载到脚本解决方案6.sql中。
我是在MYSQL命令行中这样做的。
在解决方案6. two中,我有两个语句:
source dbcreate_f.sql;
source dbload_f.sql;这两个文件包含用于创建表和将数据插入到这些表中的数据。这两个文件很好-没有错误。
不过,我遇到的问题是,当我在MYSQL命令行中运行实际的解决方案6.sql脚本时。
我的步骤如下:
tee solution6.rpt;
source solution6.sql;但是,当脚本在命令行中处理时,每次试图将数据插入到每个tabe中时,我都会收到此错误消息:
ERROR 1146 (42S02): Table 'bh576.AIRLINE' doesn't exist 我在mysql研讨会上运行了dbcreate_f.sql和dbload_f.sql脚本,它们运行得非常完美。此问题仅发生在命令行接口中。
发布于 2020-06-23 14:57:18
您需要检查该表是否损坏或损坏。
请运行以下命令:
USE bh576
SHOW TABLES LIKE 'AIRLINE';
SHOW CREATE TABLE AIRLINE \G前2行将验证AIRLINE.frm的存在
SHOW CREATE TABLE AIRLINE \G将伸出援手,尝试检索AIRLINE.frm元数据。如果此命令通过向您提供该错误而发出抱怨
ERROR 1146 (42S02): Table 'bh576.AIRLINE' doesn't exist然后,该表根据其对InnoDB数据字典的附件而被打破。
如果您每次都在MySQL工作室工作,那么损坏的表就不是问题了。
你需要确保你站在一个数据库里。
可能没有在dbcreate_f.sql脚本中设置目标数据库。
在运行脚本之前,运行以下命令:
mysql> SELECT database();这将返回要加载的数据库的名称。
如果这回到NULL时,只需在运行之前更改为目标数据库
USE mydb
source dbcreate_f.sql
source dbload_f.sqlhttps://dba.stackexchange.com/questions/269717
复制相似问题