これは問題のあるクエリです(意図した意味で、エンティティ530とペアになっているすべてのエンティティを新しいテーブルにプルし、ペアの数)で:私は主キーの一意性に違反しています苦情としてCREATE ...でMySQLの奇妙なエラーが発生しました。SELECT:ERROR 1062(23000):キー1のエントリが重複しました。
ERROR 1062 (23000): Duplicate entry '0' for key 1
:
CREATE TEMPORARY TABLE paired (
entity_id INTEGER PRIMARY KEY,
numrels INTEGER
)
SELECT I.entity2_id, COUNT(I.relation_id) AS numrels
FROM pairs I
WHERE I.entity1_id = 530 AND I.entity2_id IS NOT NULL
GROUP BY I.entity2_id
;
私はエラーメッセージを解釈します。しかし、私はグループ化その値で、一意性を確保する必要がありますよね?その後、私はこれをしようと考えた:
CREATE TEMPORARY TABLE paired (
entity_id INTEGER PRIMARY KEY,
numrels INTEGER
)
;
INSERT INTO paired
SELECT I.entity2_id, COUNT(I.relation_id) AS numrels
FROM pairs I
WHERE I.entity1_id = 530 AND I.entity2_id IS NOT NULL
GROUP BY I.entity2_id
;
を驚いたことに、これは何の問題もなく動作しますが、にもかかわらず、私の理解によると、二人は同等でなければなりません。
?参考のため
:
mysql Ver 14.12 Distrib 5.0.82sp1, for redhat-linux-gnu (x86_64) using readline 5.1
固有のID値はありますか?いくつかのサンプルデータを投稿できますか? –