A veces tengo matrices con valores vacíos o nulos. En MySql están configurados para que no admitan nulos, pero tienen valores predeterminados asignados. ¿Por qué entonces MySql me da un error, p. Column user_type can not be null
. (No estoy corriendo en modo estricto).Cómo manejar nulos en esta instrucción de inserción de PHP/mysql
Me doy cuenta de que podría utilizar la palabra clave DEFAULT en lugar de algunos valores al preparar la consulta, pero realmente no quiero hacer eso. Me gustaría poder escribir textualmente mis declaraciones SQL, en lugar de ponerlas juntas con los bucles foreach, etc. Por ejemplo, me gustaría usar "INSERT INTO users (user_type, first_name, last_name, password) VALUES (:user_type, :first_name, :last_name, :password)";
Por lo que recuerdo, esto estaba funcionando bien (es decir, sustituyendo en los valores por defecto correctos) hasta que me cambie de usar? consultar a los marcadores de parámetros con nombre ...
Gracias ...
No creo que esto se puede hacer de esta manera: un valor * se * que se envían cuando se une (! Porque parece en absoluto), aunque 'null'. Por lo tanto, MySQL no puede aplicar el valor predeterminado, porque se especificó un valor *. Hay factores desencadenantes, pero "ick!". Una "solución" sería tener un generador de consultas mínimo basado, por ejemplo, en un Mapa. (Todavía usando marcadores de posición, por supuesto.) –
¿Estás hablando de php? Como mencionó sobre "Array", probablemente valga la pena mencionar Array en qué idioma –
(no creo que * esté * trabajando con solo usar marcadores '?' Con la misma estructura de inserción; es posible que desee verificar eso y, si lo hace) trabajar, ver por qué magia.) –