1

さて、MySQL ワークベンチに次のテーブル Table1 があります--

user_id       int            not null,autoincrement
movie _id     int            not null 
movie_name    varchar        
user_name     varchar
rating        int
genre         varchar

次はデータベースへの挿入です--

try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:XXXX/Recommendation1", "root",
                    "XXXXXXXXXXX");
            Statement st = con.createStatement();
            int i = st
                    .executeUpdate("insert into Table1(movie_Id,movie_name,user_name,rating,genre) values('"
                            + movieId
                            + "','"
                            + mname
                            + "','"
                            + pname
                            + "','" + ratingr + "','" + genre + "')");
            out.println("Data is successfully inserted!");
        } catch (Exception e) {
            System.out.print(e);

今私が欲しいのは、その値(pnmae)を持つuser_nameがすでに存在する場合、それは私のテーブル1に入力したり更新したりすべきではありませんが、別のテーブルに入力する必要がありますテーブル2、テーブル2のスキーマは次のように -

movie _id     int            not null 
movie_name    varchar        
user_name     varchar
genre         varchar

そのために何を使うか。 if -else 条件の使い方

以下は、ユーザー名が存在するかどうかを確認しながら行っていることです

Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:XXXX/Recommendation1", "root",
                    "wXXXXX");
            Statement st = con.createStatement();
            //Statement st2 = con.createStatement();
            String SQL = "SELECT * from Table1 WHERE user_name ='" + pname
                    + "' ";
            ResultSet rs = st.executeQuery(SQL);

            --if (rs.) {   //What to put here

                int j = st
                        .executeUpdate("insert into Table2(movie_Id,movie_name,user_name,genre) values('"
                                + movieId
                                + "','"
                                + mname
                                + "','"
                                + pname
                                + "','" + genre + "') ");

            }

            int i = st
                    .executeUpdate("insert into Table1(movie_Id,movie_name,user_name,rating,genre) values('"
                            + movieId
                            + "','"
                            + mname
                            + "','"
                            + pname
                            + "','" + ratingr + "','" + genre + "') ");

            /*  ResultSet rs = st1.executeQuery();
                out.println("name is already there");
                out.println("Data is successfully inserted!"); */

        /*  final String Query = "SELECT t1.user_Id from Table1 t1 JOIN Table2 t2 on t2.movie_Id = t1.movie_id WHERE t2.user_name = 'vishal'";

            PreparedStatement st11 = con.prepareStatement(Query);
            ResultSet rw = st11.executeQuery();
            rw.last();

            int id = rw.getInt("user_Id");

            System.out.print("ID: " + id);*/

ありがとう

4

1 に答える 1