2012-04-28 10 views
34

Estoy tratando de borrar una columna para todos los registros en mi tabla. Por ejemplo, si mi tabla tiene tres columnas: id, comment y likes - Me gustaría poder borrar la columna likes.Valor de configuración para una columna de todos los registros en la tabla

+---+-------+-----+ 
|id |comment|likes| 
+-----------------+ 
|1 |hi  |3 | 
|2 |hello |12 | 
|3 |hey |1 | 
+---+-------+-----+ 

para que después se vería así:

+---+-------+-----+ 
|id |comment|likes| 
+-----------------+ 
|1 |hi  |  | 
|2 |hello |  | 
|3 |hey |  | 
+---+-------+-----+ 

supongo que tendría que usar MySQL UPDATE para borrar el valor likes, pero ¿cómo puedo iterar a través de todos los registros y mantener los campos id y comment son iguales?

No quiero cambiar cada registro manualmente.

Respuesta

56
update your_table set likes = null 

o si su columna likes no permite null:

update your_table set likes = '' 

Algunas herramientas de SQL que se utilizan para ejecutar consultas de base de datos impedir que las actualizaciones en todos los registros (consultas sin una cláusula where) por defecto. Puede configurar esto y eliminar esa configuración savety o puede añadir una cláusula where que es true para todos los registros y actualizar todos modos así:

update your_table 
set likes = null 
where 1 = 1 
+0

Gracias, pensé que sería algo sencillo .. Voy a aceptar esto tan pronto como pueda :) – user1199434

Cuestiones relacionadas