Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problembehebung:Bei der Migration sequenziert eine unformatierte Abfrage ein Backslash-Escapezeichen in varchar, was beim Einfügen dieses Werts in die Datenbank zu einem Fehler führt

Versuchen Sie, v_occupation hinzuzufügen direkt in die Abfragezeichenfolge, anstatt Ersetzungen zu verwenden. Sie können es mit + einfügen um die Zeichenfolgen hinzuzufügen, oder verwenden Sie Vorlagenzeichenfolge zum Einfügen von Werten mithilfe von Platzhaltern in von Backticks eingeschlossene Zeichenfolgen.

const queryToUpdateExistingTable = `
INSERT INTO social_profile 
(
    fk_user_id,
    fk_marital_status_id,
    fk_military_service_id,
    v_occupation,
    fk_education_id,
    v_bio,
    v_pets,
    v_places_lived
)
VALUES 
(
    :fk_user_id,
    :fk_marital_status_id,
    :fk_military_service_id,
    ${uProfileData.v_occupation},
    :fk_education_id,
    :v_bio,
    :v_pets,
    :v_places_lived
)`
return queryInterface.sequelize.query(queryToUpdateExistingTable, {
    type: queryInterface.sequelize.QueryTypes.INSERT,
    replacements: {
        fk_user_id: uProfileData.id,
        fk_marital_status_id: uProfileData.fk_marital_status_id,
        fk_military_service_id: uProfileData.fk_military_service_id,
        fk_education_id: uProfileData.fk_education_id,
        v_bio: uProfileData.v_bio,
        v_pets: uProfileData.v_pets,
        v_places_lived: uProfileData.v_places_lived
    }
})