Cita:
Iniciado por ivan7 El error que me muestra con la modificación es:
Código SQL:
Ver originalUPDATE nomisferio SET ID_Nomisferio='1', ID_Categoria='1',
Tipo_Mes='28', Sueldo='605.25', Antiguedad='23', Dif_Ant='14.39', C_Puesto='716.64',
C_Niv_Retr='3.28', C_Destino='395.84', C_Prof_1='120.08', C_Prof_2='240.33',
C_Prof_3='320.62', C_Prof_4='440.52', C_Fest_Dia='43.54', C_Fest_Noche='62.20',
Hospital='68.81', Nocturnidad='29.00', J_Partida='200.69 WHERE ID_Nomisferio='1';
You have an error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near '1'' at line 5
El error en realidad es bastante evidente: El último valor no tiene cerrado el apóstrofo...
El problema se ve claramente cuando escribes el código bien estructurado, y además usas un corrector sintáctico que entienda SQL:
Código MySQL:
Ver original ID_Nomisferio='1', # Por qué está esta línea? No se modifican las PK.
ID_Categoria='1',
Tipo_Mes='28',
Sueldo='605.25',
Antiguedad='23',
Dif_Ant='14.39',
C_Puesto='716.64',
C_Niv_Retr='3.28',
C_Destino='395.84',
C_Prof_1='120.08',
C_Prof_2='240.33',
C_Prof_3='320.62',
C_Prof_4='440.52',
C_Fest_Dia='43.54',
C_Fest_Noche='62.20',
Hospital='68.81',
Nocturnidad='29.00',
J_Partida='200.69 WHERE ID_Nomisferio='1';
¿Ver como la última linea se resalta mal?
Bueno, eso.
Por otro lado, hay algo que no me respondiste:
¿Por qué estás incluyendo la PK entre los campos que modificas
Eso no tiene ningún sentido.
Algunos consejos:
1) Usa una interfaz que tenga corrector sintáctico para SQL cuando estés creando las sentencias para la base. Evitará errores elementales como ese.
2) Escribe las sentencias en forma estructurada, con indentados de párrafo. Ayuda a ver claramente lo que contiene y encuentras rápidamente errores. Hacerlas como un largo chorizo de texto las hace ilegibles.
3) Respeta los espacios detrás de las comas. Ayuda a evitar la ilegibilidad del código.
4) NO PONGAS valores numéricos entre apóstrofos, si el campo es numérico. Es innecesario, obliga a MySQL a realizar conversiones implícitas que pueden fallar, esconde errores por datos faltantes de la IF visual, y no permite validar correctamente el rango o dato que se ingresa.
Código MySQL:
Ver original ID_Categoria = 1,
Tipo_Mes = 28,
Sueldo = 605.25,
Antiguedad = 23,
Dif_Ant = 14.39,
C_Puesto = 716.64,
C_Niv_Retr = 3.28,
C_Destino = 395.84,
C_Prof_1 = 120.08,
C_Prof_2 = 240.33,
C_Prof_3 = 320.62,
C_Prof_4 = 440.52,
C_Fest_Dia = 43.54,
C_Fest_Noche = 62.20,
Hospital = 68.81,
Nocturnidad = 29.00,
J_Partida = 200.69
ID_Nomisferio = 1;