No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de qui茅n quieres ser. Invierte en tu educaci贸n con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

11 D铆as
5 Hrs
52 Min
24 Seg

Editando los registros

8/21
Recursos

Una operaci贸n muy importante en toda base de datos es la actualizaci贸n de los campos de un registro. Puedes utilizarlo para almacenar inmediatamente el registro actualizado en una variable y continuar trabajando con esos datos actualizados. Si no lo necesitas, simplemente conviene no declarar esa variable.

C贸mo actualizar los datos con Diesel

La actualizaci贸n de uno o m谩s campos de un registro es bastante sencilla. Observemos algunos ejemplos de la sintaxis que debes utilizar:

// Actualizaci贸n de un registro
diesel::update(posts.filter(id.eq(2)))
    .set(title.eq("Nuevo t铆tulo"))
    .get_result::<Post>(&conn)
    .expect("Error en el update");

// Actualizaci贸n de varios campos a la vez
diesel::update(posts.filter(id.eq(2)))
    .set((body.eq("Nuevo body"), title.eq("Nuevo t铆tulo")))
    .get_result::<Post>(&conn)
    .expect("Error en el update");

Primero indicas el registro que quieres actualizar dentro del update() y luego en el .set() los campos a modificar con los nuevos valores. La consulta devuelve como resultado el registro actualizado que puedes guardar en una variable para que puedas continuar con la l贸gica de tu aplicaci贸n sin necesidad de realizar otra consulta adicional y obtenerlo.

De esta sencilla forma, ya puedes actualizar los datos de tus registros en la base de datos.


Contribuci贸n creada por: Kevin Fiorentino.

Aportes 2

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Mi ejercicio para actualizar. ```java pub fn update_post(conn: &mut PgConnection, post: &Post) -> Result<(), diesel::result::Error> { diesel::update(dsl.find(post.id)) .set(posts::title.eq("Updated")) .returning(Post::as_returning()) .get_result(conn)?; Ok(()) } ```

El uso de la variable para actualizar puede ser omitido.

diesel::update(posts.filter(id.eq(2)))
        .set(slug.eq("second-blogpost"))
        .get_result::<Post>(&conn)
        .expect("Error updating record");