Saltar al contenido

El objeto ‘DF__*’ depende de la columna ‘*’ – Cambiar int a double

Hola, hallamos la respuesta a lo que andabas buscando, continúa leyendo y la verás más abajo.

Solución:

Prueba esto:

Eliminar la restricción DF_Movies_Rating__48CFD27E antes de cambiar su tipo de campo.

La restricción generalmente la crea automáticamente el DBMS (SQL Server).

Para ver la restricción asociada con la tabla, expanda la tabla attributes en Explorador de objetosseguido de la categoría Restricciones Como se muestra abajo:

árbol de tu mesa

Debe eliminar la restricción antes de cambiar el tipo de campo.

Estoy agregando esto como respuesta para explicar de dónde proviene la restricción. Traté de hacerlo en los comentarios, pero es difícil editar bien allí :-/

Si crea (o modifica) una tabla con una columna que tiene valores predeterminados, creará la restricción por usted.

En su tabla, por ejemplo, podría ser:

CREATE TABLE Movie (
    ...
    rating INT NOT NULL default 100
)

Creará la restricción por defecto 100.

Si en cambio lo creas así

CREATE TABLE Movie (
  name VARCHAR(255) NOT NULL,
  rating INT NOT NULL CONSTRAINT rating_default DEFAULT 100
);

Luego, obtiene una restricción con un nombre agradable a la que es más fácil hacer referencia cuando modifica dicha tabla.

ALTER TABLE Movie DROP CONSTRAINT rating_default;
ALTER TABLE Movie ALTER COLUMN rating DECIMAL(2) NOT NULL;
-- sets up a new default constraint with easy to remember name
ALTER TABLE Movie ADD CONSTRAINT rating_default DEFAULT ((1.0)) FOR rating;

Puede combinar esas últimas 2 declaraciones para modificar la columna y nombrar la restricción en una línea (debe hacerlo si es una tabla existente de todos modos)

Este es el tsql camino

 ALTER TABLE yourtable DROP CONSTRAINT constraint_name     -- DF_Movies_Rating__48CFD27E

Para completar, esto solo muestra el comentario de @Joe Taras como respuesta

Comentarios y puntuaciones del tutorial

Recuerda algo, que te damos el privilegio interpretar tu experiencia si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *