表不是在 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 行的 '' 附近使用的正确语法


功能齐全。


LEATH
浏览 83回答 1
1回答

至尊宝的传说

你的sql语句中少了一个括号),正确的是 "CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id))"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java