私のmysqlには次のようなテーブルがあります:
location(char17), id(int9), sideid(int9), total(int9), other...(other)
ID と SideID が見つからない場合にのみ、このテーブルに新しいものを挿入し、両方が同じ場合は更新する必要があります。私のジレンマは、ID と SideID が存在するかどうかを確認する必要があることです。
したがって、テーブルにいくつか追加すると、次のようになります。
mplace1, 100, 4, 10, other data...
mplace1, 100, 5, 6, other data...
mplace1, 100, 3, 6, other data...
mplace1, 50, 3, 6, other data...
mplace1, 50, 6, 6, other data...
これらの最初の 3 つの列は、基本的に 1 つの巨大なキーです。複数の場所、場所内の複数の ID、および複数の SideID が存在する可能性があります。しかし、完全に一致するものを持つことはできません。そのため、Location、ID、および SideID がすべて一致する場合は、データベースに挿入するのではなく、「その他のデータ」を更新する必要があります。
これを1つのmysql_queryに含めることも非常に重要です...私は数週間試しましたが、まだ迷っています。誰かがこれを行う方法を考えていることを願っています。単一のクエリで実行できない場合は、それを受け入れると思います。これは例外的なタスクです。
明確にするために。つまり、これらの 3 つの列 (場所、ID、側面) を一緒に繰り返すことはできません。したがって、他の列は異なる値を持つことができます。
したがって、mplace1、100、4、10 の場合、「その他のデータ 1」がテーブルにありました。このmplace1、100、4、999を挿入すると、「その他」が更新されます。チェックする列と重要ではない列をどのように指定しますか。