我有两个查询。mysql查询很怪异的行为
第一个是..
INSERT INTO balik
(balik_date,
balik_time,
balik_cardID,
balik_status,
balik_type)
select
current_date(),
'00:00:00',
L_CardID,
'BELUM BALIK',
L_Type
FROM
logdetail t1
LEFT JOIN balik t2
ON t1.L_CardID = t2.balik_cardID
WHERE
t1.L_Type = 'IN'
and t1.L_Date = current_date()
AND t2.balik_cardID IS NULL"
,另一种是..
UPDATE balik blk
INNER JOIN logdetail ld
ON blk.balik_cardID = ld.L_CardID
and blk.balik_date = current_date()
SET
blk.balik_status = 'SUDAH BALIK',
blk.balik_type = 'OUT',
blk.balik_time = ld.L_Time
WHERE
ld.L_Type = 'OUT'
and ld.L_Date = current_date()
我的问题是,当我执行的第一和第二查询什么都不会发生,除非我删除所有记录我的桌子。在这种情况下,两个查询都被执行并且像魅力一样工作。
这是怎么发生的?
我已经更新了我的文章! – 2012-03-24 14:07:53
您有任何专栏吗?这将解释为什么这只能工作一次。 – 2012-03-24 14:12:10
在桌子上balik(balik_date,balik_time,balik_cardID)是我的PK和桌子上的logdetail(L_Date,L_Time,L_CardID)是我的PK ...谢谢你的答复.. – 2012-03-24 14:27:28