2012-03-16 1 views
0

私はイベント管理システムを作成しています。私はいくつかの入力をユーザーから取得し、データベースに格納しています。 8時にevent1が開催され、その期間が1時間であるとします。イベントの衝突がないことを確認する必要があります。つまり、event1と衝突するため、event2の時刻を8:30としたくないということです。どうすればいい?MySql:データベースは、他のイベントの継続時間と重複する時間を受け入れるべきではありません。


ID

ID1 2012-04-16 8時00分00秒EVENT1 1記載

ID2 2012-04-16午前8時30分00秒EVENT2 1記載

答えて

0

開始時刻と終了時刻の代わりに、イベントの開始時刻と終了時刻を保存します。そして、あなたはまたNEW_TIME> =スタートとNEW_TIME < =エンドで

を照会することができるでしょう、あなたはWHERE NEW_TIMEを行うにはADD TIME機能を使用することができます> = < = ADD_TIMEを開始し、NEW_TIME(期間、開始)

(注:期間は、機能仕様に従って時間形式にする必要があります。また、開始時刻と終了時刻をインデックスできるので、最初の方法が効率的です。