Estoy usando mysql y necesito actualizar una columna con un valor nulo. He intentado esto de muchas maneras diferentes y lo mejor que he conseguido es una cadena vacía.
¿Hay una sintaxis especial para hacer esto?
mysql
sql-update
jim
fuente
fuente
Respuestas:
Sin sintaxis especial:
fuente
NULL
es un valor especial en SQL. Entonces, para anular una propiedad, haga esto:fuente
Usar en
IS
lugar de=
Esto resolverá la sintaxis de ejemplo de su problema:fuente
Recuerde mirar si su columna puede ser nula. Puedes hacerlo usando
Si su columna no puede ser nula, cuando establezca el valor en nulo, será el valor de conversión.
Aquí un ejemplo
fuente
Para aquellos que enfrentan un problema similar, descubrí que al 'simular' una
SET = NULL
consulta, PHPMyAdmin arrojaría un error. Es un arenque rojo ... simplemente ejecute la consulta y todo estará bien.fuente
En las respuestas anteriores, se han sugerido muchas formas y repeticiones para lo mismo. Seguí buscando una respuesta como se mencionó, pero no pude encontrarla aquí.
Pero al contrario de la pregunta anterior "actualizar una columna con un valor nulo" podría ser "ACTUALIZAR TODAS LAS FILAS DE LA COLUMNA A NULL"
En tal situación siguiendo trabajos
is
tambiénis not
funciona en mysqlfuente
usar en
is
lugar de=
P.ej:
Select * from table_name where column is null
fuente
Otra posible razón para la cadena vacía, en lugar de un verdadero nulo es que el campo es un índice o es parte de un índice. Esto me sucedió a mí: usando phpMyAdmin, edité la estructura de un campo en una de mis tablas para permitir NULLs marcando la casilla de verificación " Nulo " y luego presionando el botón " Guardar ". Aparece el mensaje " El precio de la tabla se ha modificado correctamente ", por lo que supuse que el cambio ocurrió, no fue así. Después de hacer una ACTUALIZACIÓN para establecer todos esos campos en NULL , en su lugar, se configuraron en cadenas vacías , así que volví a mirar la estructura de la tabla y vi que el " Nulo"la columna para ese campo se estableció en ' no '. Fue entonces cuando me di cuenta de que el campo era parte de la clave principal .
fuente
Si desea establecer un valor nulo utilizando la consulta de actualización, establezca el valor de columna en NULL (sin comillas), actualice el nombre de la tabla set columnname = NULL
Sin embargo, si está editando directamente el valor del campo dentro de mysql workbench, use la tecla (Esc + del) para insertar un valor nulo en la columna seleccionada
fuente
Si tu sigues
entonces el nombre es "" no NULL IN MYSQL significa su consulta
SELECT * FROM table WHERE name = NULL
no trabajes ni te decepcionesfuente
Sospecho que el problema aquí es que las citas se ingresaron como literales en su valor de cadena. Puede establecer estas columnas en nulas utilizando:
Por supuesto, primero debe verificar que estos valores son "" de hecho con algo como:
fuente
si establece NULL para todos los registros intente esto:
O simplemente establezca NULL para registros especiales use WHERE
fuente