当前位置: 代码迷 >> Sql Server >> mysql默认值不可以用函数吗?小弟我遇到了如下异常
  详细解决方案

mysql默认值不可以用函数吗?小弟我遇到了如下异常

热度:75   发布时间:2016-04-24 19:38:24.0
mysql默认值不可以用函数吗?我遇到了如下错误
CREATE TABLE `purchasebill` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `purchase_id` int(11) DEFAULT NULL,
  `supplier` varchar(255) DEFAULT NULL,
  `date` date DEFAULT curdate(),
  PRIMARY KEY (`Id`)
);

------解决方案--------------------
你可以考虑用触发器实现:

在5.0中可以使用触发程序
create table test (id int not null auto_increment primary key, t datetime);
delimiter //
create trigger ins_time before insert on test 
for each row set NEW.t = now(); //
delimiter ;

insert into test (id) values (NULL);

大致如此


------解决方案--------------------
引用:
Quote: 引用:

你可以考虑用触发器实现:

在5.0中可以使用触发程序
create table test (id int not null auto_increment primary key, t datetime);
delimiter //
create trigger ins_time before insert on test 
for each row set NEW.t = now(); //
delimiter ;

insert into test (id) values (NULL);

大致如此

我试过了,确实可以,但是我对那个NEW.t不太懂,请讲解一下好吗?提供一个链接也行。谢谢


这个new 其实就是一条要插入的记录,在触发器中可以捕获到这条插入的记录,然后new.t 就表示这条要新插入的记录的,t这一列的值。
  相关解决方案