簡體   English   中英

SQL-日期字段限制(<=今天)

[英]SQL - Date field restriction (<=today)

我有一張桌子,上面有日期,當會員加入俱樂部時輸入該日期。 該列為沼澤標准品,類型為DATE。 不需要時間。

基本上,我試圖找到一種將來不可能的方法?

您可以使用觸發器。 以下是經過測試的全功能示例:

create table t(signup_date date not null);

delimiter //
create trigger ins_check_date before insert on t
  for each row
  begin
    if (new.signup_date > current_date()) then
      signal sqlstate '45000' set message_text = 'Date cannot be in the future';
    end if;
  end//

create trigger up_check_date before update on t
  for each row
  begin
    if (new.signup_date > current_date()) then
      signal sqlstate '45000' set message_text = 'Date cannot be in the future';
    end if;
  end//



delimiter ;

insert into t values (current_date());
insert into t values (current_date() - interval 1 day);
insert into t values (current_date() - interval 2 day);
insert into t values (current_date() + interval 1 day);

select * from t;
update t set signup_date = signup_date - interval 1 month 
where signup_date = current_date() - interval 1 day;

update t set signup_date = signup_date + interval 1 month 
where signup_date = current_date();
select * from t;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM