概述
我在MySQl Workbench上编写了一个存储过程(sp_archivev3),如下所示.基本上,将值从一个数据库插入另一个数据库.
-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`MailMe`@`%` PROCEDURE `sp_archivev3`()
BEGIN
INSERT INTO
send.sgev3_archive(a_bi,
b_vc,
c_int,
d_int,
e_vc,
f_vc,
g_vc,
h_vc,
i_dt,
j_vc,
k_vc,
l_vc,
m_dt,
n_vch,
o_bit)
SELECT a_bi,
b_vc,
c_int,
d_int,
e_vc,
f_vc,
g_vc,
h_vc,
i_dt,
j_vc,
k_vc,
l_vc,
m_dt,
n_vch,
o_bit
FROM send.sgev3
WHERE m_dt BETWEEN '2014-06-09' AND CURDATE();
END
当我运行调用sp_archivev3(); ,我收到错误代码错误代码1046:没有数据库
选择通过在侧栏的SCHEMAS列表中双击其名称来选择要使用的默认DB.
请让我知道我的存储过程有什么问题.
解决方法:
问题是MySQL不知道应该执行哪个名为sp_archivev3的过程; MySQL不知道要查看哪个数据库.(存储程序是特定数据库中的对象,就像表是特定数据库中的对象一样.)
使用USE语句指定当前数据库:
use mydatabase;
call sp_archivev3();
或者使用数据库名称限定程序:
call mydatabase.sp_archivev3();
标签:mysql,stored-procedures
来源: https://codeday.me/bug/20190716/1477244.html
最后
以上就是时尚秀发为你收集整理的mysql 1046_mysql – 错误代码1046:没有选择数据库的全部内容,希望文章能够帮你解决mysql 1046_mysql – 错误代码1046:没有选择数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复