我有這兩個表的拍賣程序(這是高度簡化,顯然):MySQL的基於時間的約束
create table auctions (
auction_id int,
end_time datetime
);
create table bids (
bid_id int,
auction_id int,
user_id int,
amount numeric,
bid_time timestamp,
constraint foreign key (auction_id) references auctions (auction_id)
);
我不希望在一個拍賣的出價拍賣結束後。換句話說,只有在bid_time早於該拍賣的end_time時,才允許出價表中的行。在MySQL中執行此操作最簡單的方法是什麼?
你能提供一些更多的背景?這是否必須在每次新出價時執行?我希望設置一個約束條件,以便我不必每次都以特定方式輸入出價。 – 2012-07-31 12:01:29
這應該是你的插入語句,所以是的,這將在每次新的出價時執行。但是你可以使用'UNIX_TIMESTAMP()'而不是用其他輸入替換[TIMESTAMP]。 你可以像@Roland Bouman給出的那樣使用觸發器,但我認爲我的答案更容易。 – arnoudhgz 2012-07-31 12:13:59
謝謝。鑑於Roland概述的限制,我可能會使用像這樣的插入語句。 – 2012-07-31 17:41:49