如何发送POST请求而不发送快速自动递增主键
问题描述:
我在写一个简单的API,我一直在使用Postman进行测试。我有一个自动递增的主键(CustomerTypeID),用于存储在MySQL中的“customer_type”表。出于实际的原因,我需要能够在此表中创建记录而不发送CustomerTypeID。当我使用邮递员发送以下POST请求时:如何发送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列,因为它是最终用户无法知道的数字。
答
事实证明,我给出的最后一个查询的语法是正确的。我用同样的POST请求为前:
{
"CustomerType": "testing"
}
,并通过使用SQL查询,包括CustomerTypeID,MySQL的知道,只是增加CustomerTypeID的值,因为它没有给出在POST请求的值。当我用这个查询再次运行相同的POST时,我收到一个包含CustomerTypeID和CustomerType的新行。
如果我理解正确,您的ID已被正确插入 - 问题在于未插入customerType - 因此您应该检查插入时的customerType值 – Jan