elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Insertar datos no repetidos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Insertar datos no repetidos  (Leído 4,252 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Insertar datos no repetidos
« 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
0 0 1 2 Kris
0 1 1 3 Short Sword
0 2 1 3 Rapier
0 3 1 3 Katana
0 4 1 3 Sword of Assassin
1 1 1 3 Blade
1 2 1 3 Gladius
1 3 1 3 Falchion
1 4 1 3 Serpent Sword
2 1 2 3 Sword of Salamander
2 2 2 4 Light Saber
2 3 2 3 Legendary Sword
2 4 2 3 Heliacal Sword
0 5 1 3 Double Blade
.......
....
.

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


En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
dopr

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Insertar datos no repetidos
« Respuesta #1 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.


« Última modificación: 22 Agosto 2016, 04:01 am por dopr » En línea

High Hopes.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Insertar datos no repetidos
« Respuesta #2 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.
En línea

dopr

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Insertar datos no repetidos
« Respuesta #3 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 (
 id_unico mediumint(8) unsigned default null auto_increment,
 -- los campos que tu quieras...
 PRIMARY KEY (id_unico)
);

En línea

High Hopes.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Insertar datos no repetidos
« Respuesta #4 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,
En línea

user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: Insertar datos no repetidos
« Respuesta #5 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)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como quitar datos repetidos de excel considerando mayus y minus?
Dudas Generales
.:UND3R:. 0 2,941 Último mensaje 3 Enero 2012, 04:11 am
por .:UND3R:.
Insertar datos en la base de datos
.NET (C#, VB.NET, ASP)
andaluz 5 4,681 Último mensaje 27 Febrero 2012, 21:12 pm
por seba123neo
consulta en mysql datos repetidos
Bases de Datos
zoomger 0 2,269 Último mensaje 12 Abril 2012, 17:24 pm
por zoomger
Insertar datos de dos campos hidden y un campo de texto en la base de datos.
Desarrollo Web
70N1 4 4,970 Último mensaje 6 Octubre 2012, 20:22 pm
por RevangelyonX
Datos repetidos en dos colas
Programación General
gurujuancamilo 0 1,694 Último mensaje 13 Agosto 2014, 16:37 pm
por gurujuancamilo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines