Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Sobre el uso de INSERT INTO...

  1. ¿Importa el orden de inserción de los campos al momento de insertar registros en una tabla? Por ejemplo:
    En la clase se ejecutó el siguiente comando:
INSERT INTO tbproductos(producto, nombre, envase, volumen, sabor, precio) 
VALUES ('773912', 'clean', 'botella PET', '1 litro', 'naranja', 8.01);

¿Es correcto lo siguiente?:

INSERT INTO tbproductos(sabor, precio, envase, producto, nombre, volumen)
VALUES ('naranja', 8.01, 'botella PET', '773912', 'clean', '1 litro');

¿O marcará error?

  1. ¿Qué pasa si no introduzco uno o más campos?
    Por ejemplo:
INSERT INTO tbproductos(producto, nombre, envase) 
VALUES ('773912', 'clean', 'botella PET');

Suponiendo que todos los campos de la tabla aceptan valores nulos; caso contrario (NOT NULL CONSTRAINT) marcará error.
¿los campos faltantes (volumen, sabor, precio) se registrarán con valor NULL o MySQL marcará error de ejecución?

Como nota quiero aclarar que se está respetando el tipo de dato registrado en cada campo ya que de lo contrario sé que MySQL marcará error de ejecución.

1 respuesta
solución!

¡Hola Yahadad, espero que estés bien!

Vamos a resolver tus dudas sobre el uso de INSERT INTO en SQL.

  1. Orden de los campos en INSERT INTO: El orden de los campos en el comando INSERT INTO sí importa, pero solo en el sentido de que los valores deben corresponder exactamente al orden de las columnas que especifiques. En tu ejemplo:

    INSERT INTO tbproductos(sabor, precio, envase, producto, nombre, volumen)
    VALUES ('naranja', 8.01, 'botella PET', '773912', 'clean', '1 litro');
    

    Esto es completamente válido siempre y cuando el orden de los valores coincida con el orden de las columnas que has especificado. Así que no debería marcar error si los tipos de datos coinciden.

  2. Inserción de registros con campos faltantes: Si omites uno o más campos en tu inserción, como en tu ejemplo:

    INSERT INTO tbproductos(producto, nombre, envase) 
    VALUES ('773912', 'clean', 'botella PET');
    

    Si los campos faltantes (volumen, sabor, precio) están configurados para aceptar valores nulos (es decir, no tienen la restricción NOT NULL), entonces MySQL insertará NULL en esos campos. No debería marcar error a menos que alguno de esos campos tenga la restricción NOT NULL.

Espero que esto aclare tus dudas y te ayude a continuar con tus estudios de SQL. ¡Espero haber ayudado y buenos estudios!