0

jdbc を使用して、リモート sqlserver からローカル mysql サーバーにデータをプルしています。

リモートsqlserverサーバーには2つの列があります

Name  Count 

ローカルmysqlでは、3つの列が作成されています

Name  Count  Time_stamp

日時データ型としての time_stamp

以下の挿入コード セグメントを使用してデータを取得しています。

while (rs.next()) {
                    String zoneName = rs.getString("Name");
                   int zonecount = rs.getInt("Count");



                    String insertSql = "insert into occupancy.occupancy_phase_2(Name,Count)values('"+zoneName+"',"+zonecount+")";                 
                   pstmt = con2.prepareStatement(insertSql);
                    pstmt.executeUpdate();

実行ごとに挿入クエリにタイムスタンプを追加したい。

これどうやってするの。

4

2 に答える 2

0

現在の日付を取得して挿入するには、mysql のNOW()関数を使用できます(ここでは、データベース サーバーがアプリケーション サーバーと同じタイムゾーンにあると想定しています)。

次のクエリ文字列を使用できます

String insertSql = 
"insert into occupancy.occupancy_phase_2(Name,Count,Time_stamp)values('"+zoneName+"',"+zonecount+", Now())";

また、列を指定する代わりに値を直接指定します

String insertSql = 
    "insert into occupancy.occupancy_phase_2 values('"+zoneName+"',"+zonecount+", Now())";

ノート:

準備されたステートメントを使用している間、PreparedStatementインスタンスを使用して、以下のようにクエリパラメーターを設定します

String insertSql = 
        "insert into occupancy.occupancy_phase_2 values(?,?, Now())";
PreparedStatement ps = connection.prepareStatement(insertSql);
ps.setString(1, zoneName);
ps.setInt(2, zonecount);
于 2013-07-11T14:23:52.263 に答える