entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

query en sql

**Tabla proveedor

id_proveedor / nom_prov
      1      /  Fender
      2      /  gibson

Tabla PRODUCTOS

id_producto / nom_prod / id_proveedor / id_proveedor2
    2      /  guitarra /       1 

como puedo hacer para que yo al agregar otro proveedor(gibson) a el producto guitarras y me quede asi

id_producto / nom_prod / id_proveedor / id_proveedor2
    2       / guitarra /       1    /           2

para que no hacer una reinsercion y se me duplique el producto guiutarra y me genere otro id**

1 Respuesta

1voto

white Puntos75880

Que tal si agregas otra tabla a tu base de datos? Llamemosla productos_proovedores con la estructura:

 id_producto / id_proveedor
    (INT)         (INT)

asi mantienes una relacion de los productos con los proovedores.

Por otra parte lo que quieres hacer es mas complicado, primero necesitas hacer una consulta verificando si existe un producto con un proovedor y luego hacer un insert o un update, si haces lo que te propongo te evitaras esto

0voto

white comentado

asegurate de cambiar la linea:

// ...

por el codigo que ejecuta tu consulta ( $insert->execute() )

0voto

erick comentado

si asi hermano solo una ultima pregunta!! como lo validaria si deciden meter el mismo nombre de producto?? y que no se re inserte??
$insert = $this->conexion->prepare("INSERT INTO productos VALUES(:producto,:idproveedor,:idmaquina) ");
por que en eesta linea si lo acepta!
o tendria que checar si el nombre existe y si existe lo igualo a null o como??

0voto

white comentado

define el campo que contiene el nombre del producto con una restriccion UNIQUE,

ALTER  TABLE  productos WITH CHECK 
ADD CONSTRAINT UQ_productos_nom_prod UNIQUE (nom_prod)

aca definimos la columna nom_prod como UNIQUE

si tu intension es mostrar al usuario que ya existe un producto con ese nombre puedes realizar una consulta verificando si el nombre existe en la tabla.

https://msdn.microsoft.com/es-ec/library/ms190024.aspx

0voto

erick comentado

asi es de echo de la tabla producto el id_producto lo tengo unique y auto increment
ah ok el nom_prod = producto(nombre del producto).

0voto

erick comentado

asi es de echo de la tabla producto el id_producto lo tengo unique y auto increment
ah ok el nom_prod = producto(nombre del producto).

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta