最後の数日間、私はmysqliの2列の範囲を一意にする方法を探していました。たとえば、column1は値2を持ち、column2は値6を持ちます。ユーザーが列3,4,5のいずれかに別の行として入力しようとすると、エラーを返す必要があります。私はすべての行をチェックするPHPでそれを行うことができますが、あまりにも多くのレコードがperfomanceを遅くなります。2列のMysqliユニークな範囲
私のシナリオでは、Fromデータ(Unixタイムスタンプに格納)とTillデータ(Unixタイムスタンプに再度格納)があります。
は28/06/2017 - 03/07/2017
または12/06/2017-19/06/2017
が有効である間、例えばこれら2つの日付の間
1497913200(20/06/2017)
と1498518000(27/06/2017)
何でも、
例えば22/06/2017-29/06/2017
または18/06/2017-26/06/2017
無効にする必要があります。
私はあなたがポイントを得ると思うが、私は必要に応じて詳述することができます。
私は明らかにユニークな複数の列を作成する方法を知っていますが、これらの列の範囲はわかりません。それは私が苦労している部分です。
大変助かりました。
参照してください:(HTTPS [なぜ私は非常に単純なSQLクエリであることを私には思える何のためにMCVEを提供する必要があります?] ://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query) – Strawberry
私はまだテーブルを持っていない。なぜなら、これの背後にあるロジックを最初にやりたいからだ。間違った道を歩きたくないから。私が持っている唯一の「実際の」データまたはサンプルデータは、上記で提供されたものです。 – Eilleen
OK、ここから始めるよりも悪いことはありません。(たとえ私が自分のことを言っても;-))... https://stackoverflow.com/questions/30434839/mysql-insert-date-range-into-date-columns -if-dates-dont-overlap-with-existing/30437434#30437434 – Strawberry