私は1対多の関係で2つのテーブルを持っています。マッピングテーブルに重複エントリがあるかどうかを確認したい。MySQLは1対多の関係で重複エントリをチェックします
のお客様:
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| uid | int(11) | NO | PRI | | auto_increment |
| active | tinyint(1) | NO | | | |
| locked | tinyint(1) | NO | | | |
+----------------------------+--------------+------+-----+---------+----------------+
items_mapping:任意の顧客が重複device_uidを持つテーブルテーブルitems_mapping、中、存在する場合
+--------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+----------------+
| uid | int(11) | NO | PRI | | auto_increment |
| customer_uid | int(11) | NO | | | |
| device_uid | int(11) | NO | | | |
| offered | float(11,2) | NO | | | |
+--------------+---------------+------+-----+---------+----------------+
はどうやってチェックしますか?要するに
、これは動作します:
+-------+--------------+------------+---------+
| uid | customer_uid | device_uid | offered |
+-------+--------------+------------+---------+
| 1132 | 53442 | 24 | 2.00 |
| 8242 | 53442 | 45 | 4.00 |
| 15122 | 53442 | 12 | 5.00 |
+-------+--------------+------------+---------+
しかし、それはすべきではない:
+-------+--------------+------------+---------+
| uid | customer_uid | device_uid | offered |
+-------+--------------+------------+---------+
| 1132 | 53442 | 24 | 2.00 |
| 8242 | 53442 | 45 | 4.00 |
| 15122 | 53442 | 24 | 2.00 |
+-------+--------------+------------+---------+
それは二つの異なる顧客(customer_uid)1を持っているし、同じデバイス(device_uid)可能ですか? – mitkosoft
はい、多くの顧客は同じデバイスから同じオファーを受けることができますが、1人の顧客で同じオファーを持つことはできません。 – ln9187