IDENTITY_INSERT
をオフにして、IDを指定せずにGORMでデータを挿入したいとします。GORMのIDENTITY_INSERTを無効にする方法
私はこれを試してみてください。
func main() {
db, err := gorm.Open("mssql", "...")
//...
db.DropTable(&User{})
db.CreateTable(&User{})
db.Exec("SET IDENTITY_INSERT users OFF;") <-- this doesn't work
for _, user := range users {
db.Create(&user)
}
}
type User struct {
ID uint
UserName string
FirstName string
LastName string
}
var users []User = []User{
User{UserName: "testUserName", FirstName: "testFirstName", LastName: "TestLastName"},
User{UserName: "testUserName", FirstName: "testFirstName", LastName: "TestLastName"},
User{UserName: "testUserName", FirstName: "testFirstName", LastName: "TestLastName"},
}
EDIT:アンで
(mssql: Une valeur explicite doit être spécifiée dans la colonne d'identité de la table 'users' quand IDENTITY_INSERT est défini à ON, ou qu'un utilisateur de la réplication effectue une insertion dans une colonne d'identité NOT FOR REPLICATION.)
:データがデータベースに作成されていない
、私は次のエラー(フランス語で申し訳ありませんが)持っています:
Cannot insert explicit value for identity column in table 'users' when IDENTITY_INSERT is set to OFF."
Th電子プログラムの仕事のようなIDの値を追加する場合:
User{ID: 1, UserName: "testUserName", FirstName: "testFirstName", LastName: "TestLastName"}
誰か考えている?
「これは機能しません」と定義できますか?どういう意味ですか? –
GORMは何を表していますか? –
@MisterPositiveタグの上にカーソルを置くと、 'GORMはGrailsのオブジェクトリレーショナルマッピング(ORM)の実装です。 ' –