mysql - _BAD_FIELD_ERROR : Unknown column 'table' in 'field list' with objection. js+mysql

标签 mysql node.js knex.js objection.js

我使用 mysql 数据库和 objection.js 来处理我的数据库操作。当我尝试插入值时,我收到 R_BAD_FIELD_ERROR:“字段列表”中的未知列“表”。这是我用于插入数据的代码,

Modelclass.query()
    .insert( { storeId: xxxxxx,
itemLocalName: 'LSストレ',
itemCode: xxxxxx,
itemType: '',
skus: xxxxxx,
itemLevel: 'L2',
colorCode: '99',
colorName: 'Other',    
regionCode: 'jqs' } )
    .then(function () {
      console.log( 'inserted' );
    }).catch( function( err ) {          
      console.log( 'error while inserting, error : ' + err );
    });

生成的查询是:

insert into `sampleTable` (`colorCode`, `colorName`,   `itemCode`, `itemLevel`, 
`itemLocalName`, `itemType`, `regionCode`, `skus`, `storeId`, `table`) 
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )'
}

插入时出错:

insert into `sampleTable` (`colorCode`, `colorName`,   `itemCode`, `itemLevel`, 
`itemLocalName`, `itemType`, `regionCode`, `skus`, `storeId`, `table`) 
values ('99', 'Other', 'xxxxxx', 'L2', 'LSストレ', '','jqs', 'xxxxxx', 'xxxxxx', 'sampleTable')

表字段包含在我的示例表中不存在的 objection.js 中

请帮我解决这个问题。

最佳答案

您的模型定义中有一些东西添加了 table 列。异议不会这样做。不看模型就不可能告诉你它是什么,但我有几个想法:

  1. 如果您覆盖了 $formatDatabaseJson 方法,您可能会无意中添加该列。
  2. 您在包含的类中有一个可枚举的 getter 属性。

将模型类定义添加到问题中会提供更好的答案。

关于mysql - _BAD_FIELD_ERROR : Unknown column 'table' in 'field list' with objection. js+mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37752289/

相关文章:

json - 如何在 Node.js(express) 上返回由 {} 而不是 [] 包围的 json 返回使用 knex 和 postgresql 的查询结果

node.js - Bookshelf.js,关联表查询

php - 在 PHP 中处理 JSON API 响应以将数据存储为变量

php - SQL 查询不使用 php 变量

mysql - 如何向现有表添加 n 个列,新列应具有现有列的聚合

node.js - 如何在 Node js 中以干净可读的格式显示输出?

php header 位置不起作用

node.js - 索引新文档并在同一查询中获取索引文档

javascript - 使用 Javascript 和 Underscore.js,如何比较 2 个数组并在匹配时替换属性?

mysql - 克尼克斯/SQL : Merge one to many join in one object