Mysql
 sql >> Database >  >> RDS >> Mysql

Come risolvere il problema:nella migrazione, una query grezza segue l'escape della barra rovesciata dell'annuncio in varchar che causa un errore durante l'inserimento di quel valore nel database

Prova ad aggiungere v_occupation direttamente nella stringa di query invece di utilizzare le sostituzioni. Puoi inserirlo usando + per aggiungere le stringhe o utilizzare Stringa modello per inserire valori utilizzando segnaposto in stringhe racchiuse da backtick.

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