Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment résoudre le problème :dans Migration, une requête brute séquelle l'échappement d'une barre oblique inverse dans varchar, ce qui provoque une erreur lors de l'insertion de cette valeur dans la base de données

Essayez d'ajouter le v_occupation directement dans la chaîne de requête au lieu d'utiliser des remplacements. Vous pouvez l'insérer en utilisant + pour ajouter les chaînes ou utilisez Template String pour insérer des valeurs à l'aide d'espaces réservés dans des chaînes entourées de backticks.

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
    }
})