Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Error al insertar datos de tabla: Solucionado.

Al tratar de hacer la inserción, me sale un error por la diferencia de "collations". Intenté varias cosas, como cambiar la collation a la base de datos jugos_ventas completa, hacer lo mismo tabla por tabla, probar diferentes scripts para forzar la inserción, por ejemplo:

INSERT INTO tb_producto (CODIGO, DESCRIPCION, SABOR, TAMANO, ENVASE, PRECIO_LISTA) SELECT CONVERT(CODIGO_DEL_PRODUCTO USING utf8mb4) COLLATE utf8mb4_unicode_ci, CONVERT(NOMBRE_DEL_PRODUCTO USING utf8mb4) COLLATE utf8mb4_unicode_ci, CONVERT(SABOR USING utf8mb4) COLLATE utf8mb4_unicode_ci, CONVERT(TAMANO USING utf8mb4) COLLATE utf8mb4_unicode_ci, CONVERT(ENVASE USING utf8mb4) COLLATE utf8mb4_unicode_ci, PRECIO_DE_LISTA FROM jugos_ventas.tabla_de_productos WHERE CODIGO_DEL_PRODUCTO NOT IN (SELECT CODIGO FROM tb_producto);

Pero absolutamente nada me funcionó.

También intenté la siguiente query sugerida en un post anterior:

INSERT INTO tb_producto SELECT CODIGO_DEL_PRODUCTO AS CODIGO COLLATE utf8mb4_unicode_ci, NOMBRE_DEL_PRODUCTO AS DESCRIPCION COLLATE utf8mb4_unicode_ci, SABOR COLLATE utf8mb4_unicode_ci, TAMANO COLLATE utf8mb4_unicode_ci, ENVASE COLLATE utf8mb4_unicode_ci, PRECIO_DE_LISTA AS PRECIO_LISTA FROM jugos_ventas.tabla_de_productos WHERE CODIGO_DEL_PRODUCTO NOT IN (SELECT CODIGO FROM tb_producto);

Pero tampoco funciona.

El siguiente es el código que me sugirió DeepSeek para solucionar el problema y funcionó:

Para la tabla de clientes:

INSERT INTO tb_cliente
SELECT DNI COLLATE utf8mb4_spanish_ci, 
       NOMBRE, 
       DIRECCION_1 AS DIRECCION,
       BARRIO, 
       CIUDAD, 
       ESTADO, 
       CP, 
       FECHA_DE_NACIMIENTO AS FECHA_NACIMIENTO, 
       EDAD, 
       SEXO, 
       LIMITE_DE_CREDITO AS LIMITE_CREDITO, 
       VOLUMEN_DE_COMPRA AS VOLUMEN_COMPRA,
       PRIMERA_COMPRA 
FROM jugos_ventas.tabla_de_clientes
WHERE DNI NOT IN (SELECT DNI COLLATE utf8mb4_spanish_ci FROM tb_cliente);

Para la tabla de productos:

INSERT INTO tb_producto
SELECT CODIGO_DEL_PRODUCTO COLLATE utf8mb4_spanish_ci, 
       NOMBRE_DEL_PRODUCTO, 
       TAMANO, 
       SABOR, 
       ENVASE, 
       PRECIO_DE_LISTA 
FROM jugos_ventas.tabla_de_productos
WHERE CODIGO_DEL_PRODUCTO NOT IN (
    SELECT CODIGO COLLATE utf8mb4_spanish_ci 
    FROM tb_producto
);
1 respuesta
solución!

¡Hola Mariana!

Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!