【发布时间】:2016-06-28 02:52:43
【问题描述】:
我正在尝试从 Eclipse 连接到 mysql。首先,我在mysql中创建了表,然后我建立了mysql-connector-java-5.1.38.bin.jar的路径。我想在mysql中插入一些数据,但是我得到了这个错误我做错了什么?
MYSQL
Create database readers;
Use readers;
CREATE TABLE reader
(
Name varchar(265),
Surname varchar(255),
City varchar(255),
Capital varchar(255)
);
这里是我的java代码
Class.forName("com.mysql.jdbc.Driver");
//Connect to DB server
Connection connection =
DriverManager.getConnection(jdbc:mysql://localhost:3306/?readers=true","root","password");
System.out.println("Connected to MySQL");
//Create Prepared Statement
PreparedStatement statement =
connection.prepareStatement("insert into readers (Name,Surname,City,Capital) values(?,?,?,?)");
错误
Connected to MySQL
java.sql.SQLException: No database selected
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
at edu.sabanciuniv.ReadWriteThread.run(ReadWriteThread.java:57)
我在这里搜索了每个问题,但没有找到任何解决我的问题的方法。它不是重复的,那个问题的答案不是我的解决方案。我在 getConnection 部分写了我的数据库名称,即“读者”。
【问题讨论】:
-
可能不是原因,但是你的SQL语句有错误。它提到了您的数据库“readers”的名称,而不是您的表名“reader”。