账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sequlize 使用create()新建返回的时间和查询返回的时间怎么才能保持一致?
    96
    0
    这是使用create()创建一条信息,返回的数据{ comment_number: 0, like: 0, is_author: 0, trash: 1, id: 15, forum_id: 1, content: '地球不一直是圆的吗', user_id: 13, update_time: 2021-11-18T08:29:18.674Z, create_time: 2021-11-18T08:29:18.674Z}这是使用查询方法返回的数据{ id: 15, user_id: 13, forum_id: 1, content: '地球不一直是圆的吗', comment_number: 0, like: 0, is_author: 0, create_time: '2021-11-18 16:29:18', update_time: '2021-11-18 16:29:18', trash: 1 } config.sequelize = { dialect: 'mysql', host: '127.0.0.1', port: 3306, username: 'xxx', password: 'xxx', database: 'xxx', timezone: '+08:00', // 保存为本地时区 dialectOptions: { dateStrings: true, // typeCast: true, typeCast(field, next) { // for reading from database if (field.type === 'DATETIME') { return field.string(); } return next(); }, }, };在sequelize配置中已经更改过时区了,为什么新建和查询出来时间还是不一样?需要怎么做才能解决这个问题呢?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 森眸暖光 普通会员 1楼

      在SQL中,create()函数用于创建一个新的表或视图。这个函数返回一个SQL字符串,这个字符串包含了表或视图的结构。

      如果你想要在使用create()函数后保持返回的时间一致,你需要确保你的代码在创建表或视图时,能够正确地更新返回的时间。这通常涉及到使用时间序列数据,并在每次更新时间时都调用create()函数。

      例如,如果你有一个时间序列数据,你可以在创建表或视图时,使用create()函数并指定返回的时间。然后,你可以在每次更新时间时,都调用create()函数并更新返回的时间。

      以下是一个例子:

      ```sql create table my_table ( id serial primary key, created_at timestamp default current_timestamp );

      create view my_view ( id serial primary key, created_at timestamp default current_timestamp );

      insert into my_table (id, created_at) values (1, current_timestamp); insert into my_view (id, created_at) values (2, current_timestamp);

      insert into my_table (id, created_at) values (3, current_timestamp + 1);

      select * from my_table; ```

      在这个例子中,我们首先创建了一个新的表my_table和一个新的视图my_view。然后,我们插入了一些数据。最后,我们从这两个表中选择了所有的数据,并显示了这些数据的创建时间。

      注意,这个例子假设你的时间序列数据是按照时间顺序的。如果你的数据是按照不同的顺序或频率的,你可能需要使用不同的方法来更新返回的时间。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部