構造の異なる2つのテーブル、sayproperty_bidと。がありsc_property_queriesます。
sc_property_queriesproperty_bid別のテーブルと同様に値を保持します。そしてquery_method、行がどのテーブルから来たかを示す宛先テーブルで呼び出されるフィールドがあります。このフィールドraw_idは、ソーステーブルからのIDを保持します。私がやりたいのは、property_bidテーブルから選択してに挿入することですが、新しいアイテムのみを使用します。つまり、とsc_property_queriesに基づく重複を回避します。以下は、動作していないように見える私のMySQLコードですraw_idquery_method
INSERT INTO sc_property_queries (
`property_id`,
`raw_id`, `query_method`,
`contact_fullname`,
`contact_address`,
`contact_email`,
`contact_phone`,
`contact_date`,
`entry_date`,
`title`,
`query_status`,
`remarks`,
`description`
)
SELECT
t1.property_id,
t1.id,
'web-bids',
t1.fullname,
'n/a',
t1.email,
t1.phone,
t1.on_date,
NOW(),
'n/a',
'1',
'n/a',
t1.comment
FROM
property_bid t1
LEFT JOIN sc_property_queries t2
ON (t1.id = t2.raw_id)
WHERE t2.query_method='web-bids' AND t2.raw_id IS NULL;
property_bidこのクエリは、sc_property_queriesに存在しないすべての行を返す必要があります。しかし、それは何もしていません。誰かがこれに光を当てることができますか?