2017-05-30 17 views
1

私はPostmanを使ってテストしている簡単なAPIを書いています。私はMySQLに格納されている私の "customer_type"テーブルのための自動増分主キー(CustomerTypeID)を持っています。実用上の理由から、CustomerTypeIDを送信せずにこのテーブルにレコードを作成する必要があります。私はポストマンを使用して、次のPOSTリクエストを送信する:エクスプレスで自動インクリメントプライマリキーを送信せずにPOSTリクエストを送信するには

{ 
    "CustomerType": "testing" 
} 

更新されたテーブルは、2のCustomerTypeIDと新しい行及びNULLのCustomerTypeを示します。

以下は、この特定のクエリと、このPOST要求のルーティングがどのように機能するかをExpress APIのコードのスニペットです。

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値が存在するかどうかを確認する必要があります – Jan

答えて

0

私が与えた最後のクエリの構文が正しいことが判明しました。

{ 
    "CustomerType": "testing" 
} 

そしてCustomerTypeIDは、MySQLはそれはPOSTリクエストに値を与えられていなかったので、ちょうどCustomerTypeIDの値をインクリメントする知っていた含まれてSQLクエリを使用して:私は前と同じPOSTリクエストを使用していました。このクエリで同じPOSTを再度実行したとき、私はCustomerTypeIDとCustomerTypeの両方を持つ新しい行を受け取りました。

関連する問題