我有一个名为copra4server的SQL数据库,其中有一个名为db_version的表。 我输入:
USE copra4server;
SELECT version FROM db_version;
我得到ERROR 1146 (42S02): Table 'copra4server.db_version' doesn't exist
为什么要尝试获取名为 dbname.tablename 的表格,这个点符号是什么意思?
答案 0 :(得分:0)
错误很明显。您的表db_version
不在copra4server
数据库中。
当您说USE copra4server;
时,则表示您要使用copra4server
数据库
当您从表格db_version
中选择时,该表格不存在,从而导致错误。
答案 1 :(得分:0)
我认为你对“数据库”与“数据库服务器”有点混淆。
MySQL是一个数据库服务器。您可以连接到它并查看数据库。请注意这里的复数。一台服务器,许多数据库。
服务器上的一个数据库名为copra4server
。当你说:
USE copra4server
您说的是“我当前的数据库现在是copra4server
”。因此,您引用的任何表都将被假定为在该数据库中。您的查询:
SELECT version FROM db_version;
真的 - 引擎盖下 - 说
SELECT version FROM copra4server..db_version;
而且,该表不存在,导致错误消息。
顺便说一句,如果您正在寻找数据库版本,正确的语法是:
SELECT version()
答案 2 :(得分:0)
这就是MySQL引用表(db.table)的方式,所以很明显它正在讨论该数据库中的表。
如果您确定该表存在,请检查您的拼写。