2010-11-26 9 views

Respuesta

2

En algunos modos, MySQL genera advertencias en lugar de los errores que requiere SQL Standard.

Ciertamente, desea generar un error cuando se eliminan datos importantes, pero es probable que no desee un error cuando una expresión COUNT (colname) encuentra algunas filas con nulos en la columna y las ignora para fines de conteo (a Advertencia estándar).

Como MySQL se vuelve más conforme con el estándar, se pueden agregar advertencias que no tienen implicaciones de integridad de datos.

Si usar MySQL en un modo que sigue más de cerca el estándar SQL no es suficiente, podría captar las advertencias inaceptables en el código de su aplicación y agregar acciones de compensación apropiadas.

5

estoy no puede decir si esto promoverá todas las advertencias a los errores de modo disculpas si ya estás consciente de esto, pero hay varios MySQL server modes que podría funcionar para usted:

TRADICIONAL

Haz que MySQL se comporte como un sistema de base de datos SQL "tradicional". Una simple descripción de este modo es "dar un error en lugar de una advertencia" al insertar un valor incorrecto en una columna.

STRICT_ALL_TABLES es parte de TRADITIONAL: controla

modo estricto Cómo se comporta MySQL valores de entrada que no son válidos o no. Un valor puede ser inválido por varias razones. Por ejemplo, podría tener el tipo de datos incorrecto para la columna, o podría estar fuera del rango

+3

Esto no funciona. Muchas advertencias siguen siendo advertencias incluso después de configurar 'STRICT_ALL_TABLES'. – Pacerier

Cuestiones relacionadas