所以我有查詢,像這樣:忽略插入如果值爲null
INSERT INTO price_hist
(
date,
product_id,
price_min,
price_max,
price_avg,
merchants
)
VALUES
(
'2015-07-10',
100388,
(
SELECT min(price)
FROM prices
WHERE product_id = 100388
AND active = 1),
(
SELECT max(price)
FROM prices
WHERE product_id = 100388
AND active = 1),
(
SELECT avg(price)
FROM prices
WHERE product_id = 100388
AND active = 1),
(
SELECT count(price)
FROM prices
WHERE product_id = 100388
AND active = 1)
)
price_max
,price_min
和price_avg
不能爲空,但並不是所有產品都漲價了,所以很自然的子查詢這些產品返回NULL。如果我使用INSERT IGNORE
,查詢確實執行,但不是跳過插入,而是將0值插入所有這些字段。任何方式,我可以修改它,所以它會一起跳過插入,如果任何字段爲空?
product_history
表已經有設置的字段,所以它們不能爲NULL。
你試過IFNULL()盈? – Markus