Sequelize Bulkcreate löst einen Fehler aus, der einen Syntaxfehler bei oder in der Nähe von ")" verursacht.

Oct 14 2020

Hier aktualisiere ich user_featuresin der Datenbank und habe von hier aus festgestellt , dass ich Bulk-Updates durchführen kann. updateOnDuplicate:Es wird jedoch ein Fehler wie unten ausgegeben

  SequelizeDatabaseError: syntax error at or near ")"

Ich habe es versucht, updateOnDuplicate: trueaber es unterstützt nur in MySQL, nicht in PostgresQL

var feature_body_list = [];

        for (let index = 0; index < req.body.features.length; index++) {
            let feature_body = {
                user_id: req.body.id,
                feature_id: req.body.features[index]
            }
            feature_body_list.push(feature_body);
        }

        await sequelize.user_features.bulkCreate(feature_body_list, { updateOnDuplicate: ["user_id", "feature_id"] });

Aber wenn ich updateonDuplicate entferne, funktioniert es perfekt und löst eine UniqueConstraintError-Duplizierung des Schlüssels aus. Wie kann ich also ein Massenupdate durchführen?

Antworten

2 any Nov 03 2020 at 16:02

Versuchen Sie, Ihre Sequelize.js- Version auf die neueste Version zu aktualisieren . Ich denke, es wird Ihr Problem lösen. Ich habe auch den gleichen Fehler festgestellt, dass ich meine Sequelize.js-Version auf die neueste Version aktualisiert habe