[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
2022-02-01 20:17:29
質問
Sequelize のドキュメントには、次のようなことは書かれていません。
autoIncrement
. 次のような例が載っているだけです。
// autoIncrement can be used to create auto_incrementing integer columns
incrementMe: { type: Sequelize.INTEGER, autoIncrement: true }
この例に基づいて、私は次のようなコードにしました。
db.define('Entries', {
id: {
type: Seq.INTEGER,
autoIncrement: true,
primaryKey: true
},
title: {
type: Seq.STRING,
allowNull: false
},
entry: {
type: Seq.TEXT,
allowNull: false
}
}
さて、エントリーを作成するときは、次のようにしたいと思います。
models.Entry.create({title:'first entry', entry:'yada yada yada'})
しかし、そのコードを実行すると、データベースエラーが発生します。
列のNULL値 "id"は、NULLでない制約に違反しています。
Sequelizeが整数を入れてくれるか、データベーステーブルを定義してくれると思っていたのですが。 どうやら違うようです。 IDが自動的に増加し、入力されるようにするために、私は何を見逃しているのでしょうか?
ありがとうございました。
解決方法は?
通常、Sequelize.jsはデータベースと自己適合します。そのため、autoincrement属性はPostgreSQLのserial型に対応する。
私はすでにSequelizeを使っていましたが、覚えているのは、主キーにidを指定する必要がないことです。Sequelizeがそれをやってくれるのです。
id属性を追加しないようにして、Sequelizeがそれを追加しないかどうかを確認します。
関連
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] PostgreSQL 自動インクリメント
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「安全なTLS接続が確立される前にクライアントのネットワークソケットが切断されました」(ノード10
-
[解決済み】 console.logの出力をどこに永久保存するか?
-
[解決済み】ExpressJSとMeteorJSの比較【終了しました
-
[解決済み】MongoDBのデータ/DBが見つからない
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
[解決済み] TypeError: コールバックはnodejsの関数ではありません。
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] TypeErrorです。リクエストパスにエスケープされていない文字が含まれています。
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?