Java 比较两个表中的值,并将从第一个表中获取的值插入第二个表中

Java 比较两个表中的值,并将从第一个表中获取的值插入第二个表中,java,mysql,sql,arraylist,Java,Mysql,Sql,Arraylist,请帮忙! 我有两个表:信息和消息 Info包含以下列: id name location description from 1 abc def ghijg 123 2 xyz wqk fdgbf 234 3 tuv ghn hndBD 345 id text from created_at 1 HI 123

请帮忙! 我有两个表:信息和消息 Info包含以下列:

id  name   location   description  from
1    abc    def         ghijg      123
2    xyz    wqk        fdgbf       234
3    tuv    ghn        hndBD       345
id   text     from          created_at
1    HI        123             12345
1    hey       123             12345
2    hello     234             98765
消息包含以下列:

id  name   location   description  from
1    abc    def         ghijg      123
2    xyz    wqk        fdgbf       234
3    tuv    ghn        hndBD       345
id   text     from          created_at
1    HI        123             12345
1    hey       123             12345
2    hello     234             98765
我想在Message中插入新值,并将id的值(在Message中)与Info的id的对应值设置为。如示例所示,消息中的id 1告诉我们此行对应于Info表的id 1

我正在编写Java代码,将新值插入到消息中

我的表很大,所以我将Info中的id和名称存储到ArrayList中,然后比较ArrayList中的id和一些名称值为null。我使用for循环遍历ArrayList,然后将name值与我从twitter调用并插入到消息中的另一个name值进行比较。 代码是:

for(Bank v: bankid){   
    if(v.getName()== null || v.getName().equals(Name)){
        if(v.getName().equals(Name)){
            System.out.println(v.getId());
            ps.setString(1,v.getId());
        }
    }
}
将从Info表获取的id值与其他值一起插入到消息中

我无法插入任何新值。我该怎么做? 我用这个说法:

 String sql = "INSERT INTO MESSAGE(ID,text,from,craeted_at) VALUES (ID,?,?,?)";
            PreparedStatement ps = conn.prepareStatement(sql);
请帮忙! 谢谢

首先-

if(v.getName()== null || v.getName().equals(Name))
这一行可以为您提供空指针异常。因此,将支票更改为

if(v.getName()!= null || Name.equals(v.getName()))
然后插入准备语句Ex中的值

      ps.setInt(1,23);
      ps.setString(2,"Roshan");
      ps.setString(3, "CEO");
      ps.executeUpdate();

我甚至看不到任何问号。我看不到问题,但我能看到的是一些NPE导致并重新执行相同的条件--
if(v.getName()!=null&&v.getName().equals(Name)){…}
谢谢!这适用于只运行一次循环,但我想插入每个id的值,运行多次,然后每次都插入到表中。如何做到这一点?用于循环。