java - java-mySQL 中未创建表

标签 java mysql

我使用 mySQL Workbench 创建了一个名为 testdb 的数据库。然后我通过“数据库”>“连接到数据库”连接到它。然后我在java(eclipse)中编写一些代码到

  1. 获取数据库连接
  2. 在数据库中创建一个表。

代码的输出显示连接和创建表已完成。

但是当我返回 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 行 '' 附近使用的正确语法

功能完成。

最佳答案

你的sql语句中缺少括号),正确的是

 "CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id))"

关于java - java-mySQL 中未创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889103/

相关文章:

mysql - 使用 ElasticSearch JDBC river 从表中获取更改

mysql - 无法通过 JOIN 更改更新值

mysql - Codeigniter:创建数据库后插入数据时出现 "Table not found"错误

mysql - Laravel - 违反完整性约束 : 1062 Duplicate entry

java Android - volley 库 - 通过 ImageLoader 获取位图

java - 使用OAuth Google客户端程序时出现redirect_uri_mismatch错误

java - Java 中的 I/O 操作优化?

java - 如何通过 TCP 连接发送字节数组(java 编程)

java - 当对象标签显示:none,时方法失败,但当可见性:隐藏有效时

python - Django 上的 Mysql 错误