2012-07-23 12 views
6

Estoy usando el servidor de comunidad MySQL 5.1. ¿Hay alguna manera de simplemente establecer todas las filas a sus valores predeterminados de columna con una consulta?revertir filas al valor de columna predeterminado mysql

Acabo de agregar muchas filas. Tenía valores predeterminados para la mayoría de las columnas especificadas, pero por alguna razón todos los valores de las columnas se establecieron = 0 en su lugar. Me preguntaba si hay una consulta para establecer todos los valores de la columna a su valor predeterminado, y también necesitaría la posibilidad de una cláusula where.

algo como esto por ejemplo:

update table set values = values(default) where id > 300; 

Gracias!

+0

Por qué alguna vez querrías hacer esto está más allá de mí. ¿De qué sirve tener registros con solo datos predeterminados? – eggyal

+1

que es para mí preocuparse ;-) –

Respuesta

16

Hay una palabra clave DEFAULT disponible en INSERT y UPDATE consultas que se puede utilizar en lugar de cualquier valor de columna real:

update my_table set my_column = DEFAULT where id > 300; 

como se documenta in the MySQL Manual

Tenga en cuenta que también hay un DEFAULT() function, como se menciona en una respuesta anterior; con el que puede seleccionar el valor predeterminado de cualquier columna para su uso.

+0

debería haber sabido, a pesar de que he estado en esa página de documentos un trillón de veces: - ¡/ gracias! –

6

debería probar:

UPDATE table_name SET col = DEFAULT(col) WHERE id > 300; 
Cuestiones relacionadas