我使用 mySQL workbench 创建了一个名为 testdb 的数据库。然后我通过数据库>连接到数据库连接到它。然后我用java(eclipse)写了一些代码来获取数据库连接在数据库中创建一个表。代码的输出显示连接和创建表已完成。但是当我返回 mySQL 时,我在数据库中看不到任何表。谁能帮我解释为什么没有创建表?package database;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;public class main { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub getConnection(); createTable(); } public static void createTable() throws Exception { try { Connection con = getConnection(); PreparedStatement create = con.prepareStatement("CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id)"); create.executeUpdate(); }catch(Exception e) {System.out.println(e);} finally { System.out.println("Function complete."); }; } public static Connection getConnection() throws Exception{ try { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/testdb"; String username = "root"; String password = "00000"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password); System.out.println("Connected"); return conn; } catch(Exception e) {System.out.println(e);} return null; }}这是输出:连接的连接的java.sql.SQLSyntaxErrorException:你的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的 '' 附近使用的正确语法功能齐全。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
你的sql语句中少了一个括号)
,正确的是
"CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id))"
添加回答
举报
0/150
提交
取消