2017-10-03 3 views
0

Je suis en train de mettre à jour un champ appelé « Syllabus » en utilisant cette requête SQL:Erreur SQL 1292 en essayant de mettre à jour champ de ligne

UPDATE `cursos` c 
SET c.SYLLABUS = 'https://www.upv.es/pls/oalu/sic_asi.Busca_Asi? 
P_VISTA=&P_IDIOMA=i?p_codi=' + c.CODE + '&p_caca=act' 
WHERE c.SYLLABUS LIKE "" AND c.CENTER NOT LIKE "Study Abroad" 

Mais j'obtiens cette erreur bizarre de dire que je suis en train d'entrer une valeur DOUBLE sur la ligne 2 chaque fois que j'essaie de l'exécuter. Des suggestions sur la façon dont je pourrais résoudre ce problème?

+0

Tag votre question avec la base de données que vous utilisez. –

+0

Vous avez probablement besoin de convertir 'code' en chaîne. –

+0

utiliser des apostrophes dans 'c.SYLLABUS LIKE '' ET c.CENTER pas comme 'Study Abroad'' –

Répondre

1

Votre problème est probablement le +. Cela effectue uniquement la concaténation de chaînes dans SQL Server et les bases de données connexes.

Cela peut faire ce que vous voulez:

UPDATE cursos c 
    SET c.SYLLABUS = CONCAT('https://www.upv.es/pls/oalu/sic_asi.Busca_Asi?P_VISTA=&P_IDIOMA=i?p_codi=', 
          c.CODE, '&p_caca=act') 
WHERE c.SYLLABUS = '' AND c.CENTER NOT LIKE 'Study Abroad'; 
+0

J'ai essayé cela et semble fonctionner au premier quand je fais la simulation de requête, mais quand j'essaie de l'appliquer, je reçois le suivant erreur # 1146 - Tabla 'carjimri_cursos.SYLLABUS' n'existe pas. –