Título: Insertar datos no repetidos Publicado por: .:UND3R:. en 21 Agosto 2016, 05:54 am Hola a todos, tengo un pequeño problemita, tengo una tabla la cual ya está con muchos datos, el problema surge que deseo insertar más datos pero el problema de estos es que hay algunos repetidos, la única manera de poder diferenciar estos es a través de los campos i_type y i_id juntos:
Código: i_type i_id size_x size_y name Mi idea es la siguiente: Insertar los datos solo si no existe una fila con un i_type y i_id igual, ¿cómo podría hacer esto? Es decir que si insertara esto: Citar 2 4 1 5 Sword Black no se debería insertar pues ya existe una fila en la tabla que posee un 2 y un 4: Citar 2 4 2 3 Heliacal Sword No sé si se entienda, espero su ayuda, muchas gracias :) PD: Microsoft SQL Server Título: Re: Insertar datos no repetidos Publicado por: dopr en 22 Agosto 2016, 03:59 am No entiendo mucho de bases de datos, y menos de MS SQL Server pero intenta algo como añadir un WHERE al final de la consulta, que solo inserte los datos cuando i_type y i_id no sean iguales a los del registro que se está intentando crear.
Código: WHERE i_type <> typeactual AND i_id <> idactual Espero que te sirva. Título: Re: Insertar datos no repetidos Publicado por: AlbertoBSD en 22 Agosto 2016, 04:15 am La idea quw se me ocurre pero que no se si se pueda implementar es hacer que la tabla tenga un campo "unico" y que este se genere en automatico al realizar el insert con la concatenación de los 2 datos mencionados y si este ya existe no se insertara, tal vez se pueda manejar con triggers o similar.
Título: Re: Insertar datos no repetidos Publicado por: dopr en 22 Agosto 2016, 14:32 pm La idea quw se me ocurre pero que no se si se pueda implementar es hacer que la tabla tenga un campo "unico" y que este se genere en automatico al realizar el insert con la concatenación de los 2 datos mencionados y si este ya existe no se insertara, tal vez se pueda manejar con triggers o similar. Puedes hacer una clave primaria autoincrementable (Seria como otro id más, pero asignado automáticamente por la BBDD): Código: CREATE TABLE ejemplo ( Título: Re: Insertar datos no repetidos Publicado por: AlbertoBSD en 22 Agosto 2016, 14:35 pm El usuario comenta que tiene que ser unico solo si 2 valores coinciden
Citar Insertar los datos solo si no existe una fila con un i_type y i_id igual, Título: Re: Insertar datos no repetidos Publicado por: user-marcos en 22 Agosto 2016, 14:46 pm Has probado en usar una clave primaria de dos campos;
primary key (i_type, i_id size_x) |