这个问题是基于这条线的。
我跑得不成功
sudo mysql
\. /users/cs/SO_db/posts.sql 我知道错误了
ERROR 1146 (42S02): Table 'personal.posts' doesn't exist一个五个字符的SQLSTATE值('42S02')。这些值由ANSI SQL和ODBC指定,并且更加标准化。并非所有MySQL错误号都映射到SQLSTATE错误代码。值'HY000‘(一般错误)用于未映射的错误。
和
错误: 1146 SQLSTATE: 42S02 (ER_NO_SUCH_TABLE) 消息:表‘'%s.%s’‘不存在
如何解决错误消息?
发布于 2009-07-18 17:15:49
正如我在您所引用的文章中提到的,您需要首先创建表。查看需要哪些列的XML或SQL输出。这里有一个表,可以保存来自badges.xml的输出(我现在没有其他可用的.)
CREATE TABLE `badges` (
`Id` int(11) NOT NULL default '0',
`UserId` int(11) not NULL,
`Date` datetime not NULL,
`Name` varchar(32) not NULL,
PRIMARY KEY (`Id`),
KEY `Date` (`Date`),
KEY `UserId` (`UserId`)
) ;发布于 2009-07-18 16:38:49
加载的SQL脚本引用数据库和/或数据库中不存在的表。
通常不会使用mysql调用sudo工具,因为系统用户权限与MySQL用户不同。
要通过mysql执行SQL脚本,我可以尝试如下:
cat somefile.sql | mysql -u <mysqluser> -p <mysqldb>此命令将“somefile.sql”加载到mysql工具中,以用户<mysqluser>的身份连接到localhost上的MySQL服务器,并选择数据库<mysqldb>。mysql工具将提示在执行脚本之前输入<mysqluser>的访问密码。
发布于 2009-07-18 16:37:04
你真的创建了数据库“个人”和表“帖子”吗?
您可能想尝试这样的方法:
mysql -h localhost -u <user> -p<password> -D personal < /users/cs/SO_db/posts.sqlhttps://stackoverflow.com/questions/1147955
复制相似问题