具体点说就是拍卖系统在mysql里边用触发器实现
当插入一条数据的时候有2个字段一个字段是这条记录发布的时间而里边存放的事用PHP写的时间戳(也就是1970年到现在的毫秒数)另一个字段是商品拍卖的结束时间(时间戳)
而我现在要做的就是拍卖时间到了再执行更新语句就完事了。
各位大侠速度来救场了啊

解决方案 »

  1.   

    你在产品上架的时候就已经知道拍卖结束时间了吧?
    你要trigger做什么工作呢? 更新什么内容?
      

  2.   

    我现在就是想怎样才能象javascript 里setTimeout函数一样调用
    就是判断到结束后改变这个商品的状态。由原来的拍卖中变成已经下架。
    或者有更好的方法 比如说监听器.
    触发器的工作就是当到结束时间了在总商品数上-1
      

  3.   

    你先搞清除触发器是什么东西。触发器不是在任意时间运行的程序,而是仅当某操作执行(Insert,Update等)是执行的程序。
    也就是说数据库的触发器是事件触发,不是时间触发的。
    如果服务器是Linux可以弄一个crontab,定时执行一个脚本文件来更新数据表里面的数据。
      

  4.   

    在MYSQL中的存储过程,有没有监听功能,可以随时调用触发器,可以自动设置多长时间扫描一下数据库.
      

  5.   

    触发器,存储过程都不行,不过mysql里好像有个东西叫做“事件调度器”,查文档看看。
      

  6.   

    我感觉你可以写一个Tomcat的小系统 用TimerTask来扫描数据库 然后执行更新操作 这样就不用担心增加服务器压力了
    但是肯定不能执行的太频繁,要不数据库服务器就受不了了
      

  7.   

    你思路错了,你应该是比较系统时间跟商品拍卖结束时间来决定物品状态
    拍卖结束时间 <= 系统时间 = 上架
    系统时间 > 拍卖结束时间 = 下架
    当然~想有更高效能可以做个缓存表,记录在架物品清单,在后台定时更新(如一小时一次)清单就可以
      

  8.   

    这种处理和业务逻辑有关。如果你需要每天更新状态,那么每天run个小程序update一下就可以了。Linux下用crontab,Windows下用Schedule Task。
      

  9.   

    不必这样的,你直接在PHP里面搞个判断,也顺便更新一下数据库就可以了:
    如果time()>结束时间,就输出已经下架,并顺便在数据库搞个Update,或者是Delete,把原数据改掉或删除掉,就可以了
    如果大于就显示,不用处理其它。