gpt4 book ai didi

mysql - NodeJS - Sequelize 更新问题

转载 作者:行者123 更新时间:2023-11-29 23:05:33 25 4
gpt4 key购买 nike

我的更新方法有问题。

我正在这样做:

// Char is outside the object where update method is...
Char = db.define('characters', {}, {
tableName: 'characters',
updatedAt: false,
createdAt: false
});

//... part of the whole object
update: function ( columns, callback ) {

Char.update( columns, { where: { id: this.get('char_id') } } )
.complete( function ( err, res ) {
f.log(res, 'd');
});
},

当我将 updatedAt 定义为 false 时,更新完全停止工作,我不知道如何防止这种情况,除了在数据库中添加一列。它让我“查询为空”。因此,我尝试将 UpdatedAt 定义为“created_at”——表中的现有列,然后更新起作用了,但根本不起作用。该查询仅使用时间戳更新“created_at”,但不更新我的首选列。

我在控制台中收到的示例:

执行(默认):更新字符 SETcreated_at='2015-02-03 21:03:00' WHERE id='1'

应该是:

执行(默认):更新字符 SET health = ...,created_at='2015-02-03 21:03:00' WHERE id='1'

我调试columns参数是否是有效参数。是的,是的 - 我发送一个对象并接收一个对象。

有人可以帮助我吗?我尝试过旧方法、新方法、阅读帖子,但一无所获。

编辑:我发现我错在哪里了。我应该定义我想要更新/插入的所有字段。由于我的英语,我无法正确理解文档中的定义函数。我认为当您定义字段时,您将重新创建表结构,但现在我意识到,如果运行sync()方法,就会发生这种情况。

最佳答案

我发现我错在哪里了。我应该定义我想要更新/插入的所有字段。由于我的英语,我无法正确理解文档中的定义函数。我认为当您定义字段时,您将重新创建表结构,但现在我意识到,如果运行sync()方法,就会发生这种情况。

关于mysql - NodeJS - Sequelize 更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com