首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-12-11 
mysql默认值不可以用函数吗?我遇到了如下错误CREATE TABLE `purchasebill` (`Id` int(11) NOT NULL AUTO_I

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`)
);mysql默认值不可以用函数吗?小弟我遇到了如下异常
[解决办法]
你可以考虑用触发器实现:

在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这一列的值。

热点排行