mysql 字段值 大于0,mysql限制表的字段的值在每次插入时只能大于下一条记录的值...

SQL code如果表的ID 不是自增的:

root@localhost : test 10:00:21>select * from tb_test;

+------+---------------------+--------+--------+

| id | time | value1 | value2 |

+------+---------------------+--------+--------+

| 1 | 2012-09-01 09:41:00 | 33.4 | 56.7 |

+------+---------------------+--------+--------+

1 row in set (0.00 sec)

root@localhost : test 09:59:37>delimiter $$

root@localhost : test 10:00:17>create trigger insert_tb

-> before insert on tb_test

-> for each row

-> begin

-> select max(value1) into @a from tb_test;

-> if new.value1 < @a then set new.value1= @a;

-> end if;

-> end $$

Query OK, 0 rows affected (0.07 sec)

root@localhost : test 10:00:36>insert into tb_test values(1,now(),'12.4','56.7');

Query OK, 1 row affected (0.03 sec)

root@localhost : test 10:00:51>select * from tb_test;

+------+---------------------+--------+--------+

| id | time | value1 | value2 |

+------+---------------------+--------+--------+

| 1 | 2012-09-01 09:41:00 | 33.4 | 56.7 |

| 1 | 2012-09-01 10:00:51 | 33.4 | 56.7 |

+------+---------------------+--------+--------+

2 rows in set (0.00 sec)

root@localhost : test 10:00:54>insert into tb_test values(1,now(),'55.4','56.7');

Query OK, 1 row affected (0.00 sec)

root@localhost : test 10:01:03>select * from tb_test;

+------+---------------------+--------+--------+

| id | time | value1 | value2 |

+------+---------------------+--------+--------+

| 1 | 2012-09-01 09:41:00 | 33.4 | 56.7 |

| 1 | 2012-09-01 10:00:51 | 33.4 | 56.7 |

| 1 | 2012-09-01 10:01:03 | 55.4 | 56.7 |

+------+---------------------+--------+--------+

3 rows in set (0.00 sec)

是自增的话,修改下赋值这行就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值