如何在不发送快速自动递增主键的情况下发送POST请求

时间:2017-05-30 13:34:06

标签: mysql node.js express

我正在编写一个简单的API,我一直在使用Postman进行测试。我有一个自动递增主键(CustomerTypeID),用于存储在MySQL中的“customer_type”表。出于实际原因,我需要能够在此表中创建记录而不发送CustomerTypeID。当我使用Postman发送以下POST请求时:

{
  "CustomerType": "testing"
}

更新的表显示CustomerTypeID为2且CustomerType为NULL的新行。

以下是我的Express API中的一段代码,其中显示了此特定查询以及此POST请求的路由如何工作。

var db = require('../dbconnection.js');
var CustomerType = {
  addCustomerType:function(CustomerType,callback) {
    return db.query("INSERT INTO customer_type (CustomerType) VALUES (?)", [CustomerType.CustomerType], callback);
  }
};
module.exports = CustomerType;

我知道我可以将查询更改为

INSERT INTO customer_type (CustomerTypeID, CustomerType) VALUES (?,?);

这将填充两列。但是,我不知道如何省略CustomerTypeID列,因为它将是最终用户无法知道的数字。

1 个答案:

答案 0 :(得分:0)

事实证明,我给出的最后一个查询的语法是正确的。我使用了与以前相同的POST请求:

{
  "CustomerType": "testing"
}

通过使用包含CustomerTypeID的SQL查询,MySQL知道只增加CustomerTypeID的值,因为它没有在POST请求中给出值。当我使用此查询再次运行相同的POST时,我收到了一个包含CustomerTypeID和CustomerType的新行。

相关问题