1

サーバーのサインインおよびサインアウト ログの更新に取り組んでいます (自分でコードを書いたわけではなく、SQL を初めて使用します)。午前 0 時を過ぎるとシフトが増加しないという問題がありました。日 (6 月 30 日の午後 11 時に誰かがサインインし、6 月 30 日の午前 3 時にサインアウトしたと表示されます)。すべてのシフトが 4 時間未満であるため、サインアウト時間がサインイン時間よりも早い場合は、日を増やすように設定できると考えました。

複数のステートメントを送信する方法がわからないので、次のことができると考えました。

INSERT INTO Reports (MemberId,StartTime,EndTime) VALUES (6000,'2013-10-23 23:05:00',(SELECT DATE_ADD('2013-10-23 00:08:00',INTERVAL 1 DAY));

(私は主に C++ でこれを行っているため、日付/ID 番号の値は C++ プログラムで決定され、データベースに送信する ssUpdate ステートメントとして出力されます。上記は、私が行っている種類のステートメントの一例です。 DATE_ADD 関数を含まないステートメントは問題なく動作するので、それが問題ではないことはわかっています。)

これを行おうとすると、「構文エラー」ステートメントが表示されます。元のプログラマーがどのように SQL と C++ を統合し、どのようにステートメントをデータベースに送信しているのか正確にはわからないため、回避する方法があれば、C コードを再構築したり、複数の SQL ステートメントを送信したりしないことを本当に望んでいます。

これが十分な情報でない場合は申し訳ありませんが、ここで質問したことはありません...

ご協力いただきありがとうございます!

4

1 に答える 1