You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia使用DBInterface连接MySQL执行SQL报1046未选择数据库故障求助

解决方案

1046 No database selected 与 1049 Unknown database 报错处理

  • 报错1046是因为连接时未指定操作的数据库,且执行SQL前没有切换到目标库
  • 报错1049是因为你指定的数据库还没有在MySQL实例中创建,MySQL不会自动生成数据库

操作步骤:

先创建目标数据库再切换使用即可,无需在连接时强制指定数据库,示例操作如下:

using DBInterface
using MySQL

# 初始化连接,不指定数据库
con = DBInterface.connect(MySQL.Connection, "12345.rds.amazonaws.com", "admin", "54321")

# 创建目标数据库(存在则跳过)
DBInterface.execute(con, "CREATE DATABASE IF NOT EXISTS 你需要的数据库名称;")
# 切换到目标数据库
DBInterface.execute(con, "USE 你需要的数据库名称;")

# 此时再执行建表等操作不会触发1046报错
sql = "CREATE TABLE friends2(last_name VARCHAR(10), first_name VARCHAR(20));"
DBInterface.execute(con, sql)

# 操作结束后关闭连接
DBInterface.close!(con)

如果需要在连接时直接指定数据库,先确保上述数据库已经提前创建完成,再通过关键字参数传入库名:

con = DBInterface.connect(MySQL.Connection, "12345.rds.amazonaws.com", "admin", "54321"; db="你已创建的数据库名称")

mysql_connect 未定义报错处理

mysql_connect是MySQL.jl v0.9版本之前的旧API,目前新版本的MySQL.jl已经完全移除该接口,统一使用DBInterface.connect进行连接操作,无需再尝试调用已废弃的方法。


内容的提问来源于stack exchange,提问作者neutrino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 13:12:04