2017-05-30 59 views
1

我在寫一個簡單的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列,因爲它是最終用戶無法知道的數字。

+0

如果我理解正確,您的ID已被正確插入 - 問題在於未插入customerType - 因此您應該檢查插入時的customerType值 – Jan

回答

0

事實證明,我給出的最後一個查詢的語法是正確的。我用同樣的POST請求爲前:

{ 
    "CustomerType": "testing" 
} 

,並通過使用SQL查詢,包括CustomerTypeID,MySQL的知道,只是增加CustomerTypeID的值,因爲它沒有給出在POST請求的值。當我用這個查詢再次運行相同的POST時,我收到一個包含CustomerTypeID和CustomerType的新行。