Comportamiento de inserción de MySQL: truncamiento frente a error
MySQL muestra distintos comportamientos al intentar insertar datos que exceden el límite de longitud de la columna: truncamiento o error . En este escenario, nuestro objetivo es modificar una instancia de MySQL para truncar los datos en lugar de generar un error.
Solución: deshabilitar STRICT_TRANS_TABLES y STRICT_ALL_TABLES
De forma predeterminada, MySQL aplica medidas estrictas modo, que incluye las configuraciones STRICT_TRANS_TABLES y STRICT_ALL_TABLES. Estas configuraciones prohíben valores no válidos o faltantes en operaciones de cambio de datos como INSERT o UPDATE.
Para permitir el truncamiento automático de cadenas insertadas, podemos desactivar STRICT_TRANS_TABLES y STRICT_ALL_TABLES. Aquí se explica cómo hacerlo:
SET SESSION sql_mode=NO_STRICT_TRANS_TABLES,NO_STRICT_ALL_TABLES;
Explicación:
Al deshabilitar estas configuraciones, eliminamos la restricción de valores no válidos o faltantes. Esto permite a MySQL truncar silenciosamente los datos que exceden el límite de longitud de la columna, adhiriéndose al comportamiento predeterminado de truncamiento.
Referencia:
Modos SQL del servidor MySQL: https:/ /dev.mysql.com/doc/refman/8.0/en/sql-mode.html
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3