No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de SQL y MySQL

Curso de SQL y MySQL

Alberto Alcocer

Alberto Alcocer

Comando INSERT

11/24
Recursos

Aportes 153

Preguntas 28

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Si en el 1er y 3er ejemplo de INSERT les marca el error:

ERROR 1366 (HY000): Incorrect integer value: 鈥樷 for column 鈥榓uthor_id鈥 at row 1

Esto puede solucionarse usando NULL, el ejemplo de clase hace menci贸n que sea 鈥樷 (脷nicamente comillas simples) donde se insertan los datos en vez de NULL , si las comillas simples se agregan marcara un error ya que est谩 tomando ese apartado como STRING y en la tabla authors especificamos que sea INTEGER, tambi茅n puede usarse el 1 (pues es un entero), as铆 que sea 1 o NULL en donde se insertan los datos estar谩 correcto, quedar铆a como:

Ejemplo 1: INSERT INTO authors (author_id, name, nationality)
VALUES (NULL, 鈥楯uan Rulfo鈥, 鈥楳EX鈥);

Ejemplo 3: INSERT INTO authors
VALUES (NULL, 鈥楯uan Gabriel V谩squez鈥, 鈥楥OL鈥);

Hay varios videos del curso mal editado, en el cual se esta explicando cierta acci贸n, y luego se corta el video y comienza con la misma explicaci贸n, en este video se puede apreciar desde el minuto 3:336 seg al 4:22.
Podr铆an tomarse la molestia de editar bien los videos, tan reiterativo el error que llega a ser molesto.

A los que le arroja el error:
ERROR 1366 (HY000): Incorrect integer value: '' for column 'author_id' at row 1

Prueben con cambiar el campo de 鈥樷 por NULL:

INSERT INTO authors(author_id, name, nationality) VALUES(NULL, 'Gabriel Garc铆a Marquez', 'COL');```

Otra forma de insertar puede ser de la siguiente manera:

  • Sin especificar los campos a insertar solo indicando los valores utilizando un SELECT
    INSERT INTO authors
    SELECT 鈥樷,鈥楯uan Gabriel Vazques鈥,鈥楥OL鈥;

  • Especificando todos los campos de la tabla a insertar utilizando un SELECT.
    INSERT INTO authors (author_id,name,nationality)
    SELECT 鈥樷,鈥楪abriel Garcia Marquez鈥,鈥楥OL鈥;

  • **Especificando solo algunos campos de la tabla a insertar **utilizando un SELECT
    INSERT INTO authors (name,nationality)
    SELECT 鈥楯ulio Cortaza鈥,鈥楢RG鈥;

Saludos.

9-Comando INSERT

  1. Es buena pr谩ctica:Tener una buen modelo de bases de datos y un buen modelo de negocio que evite la duplicidad de informaci贸n ya que esto nos ahorra el tiempo de procesamiento, ahorra en espacio.

  2. Es buena pr谩ctica realizar inserciones de 50 registros m谩ximo. Esto no es necesariamente obligatorio pero funciona muy bien y esto se hace porque s铆 hay alg煤n problema en la inserci贸n s贸lo se pierde datos de 50 a 50.

/*Existe varias formas de hacer insert, seg煤n las
versiones de mysql que tengamos instalados estas son
algunas de ellas*/
INSERT INTO  `authors` (author_id,name,nationality)
    VALUES ( '','Juan Rulfo','MEX');
INSERT INTO  `authors` (author_id,name,nationality)
    VALUES ('','Gabriel Garc铆a M谩quez','COL');
INSERT INTO  `authors` 
     VALUES ('Juan Gabriel Vasquez','COL');
/*pero la versi贸n que manejamos  esta es una de las que admite*/
INSERT INTO  `authors` (name,nationality)
    VALUES ('Juan Rulfo','MEX');
/*otra forma, que s铆 funciona*/
INSERT INTO  `authors` (name,nationality) 
    VALUES  
            ('Juan Rulfo','MEX'),
            ('Gabriel Garc铆a M谩quez','COL'),
            ('Juan Gabriel Vasquez','COL'),
            ('Julio Cort谩zar','COL'),
            ('Isabelle Allende','CHI'),
            ('Octavio Paz','MEX'),
            ('Juan Carlos Onetti','URU');
/*o si sabemos que hay un id que no existe podemos insertarlos juntos con su  id*/
INSERT INTO  `authors` (author_id,name,nationality)
    VALUES ('16','Pablo Neruda','MEX');

Considero que para no repetir paises ser铆a conveniente crear una tabla adicional en la cual est茅n los pa铆ses.

Aqu铆 les dejo la inserci贸n de todos los datos en el v铆deo;

INSERT INTO authors (name, nationality)
VALUES('Juan Rulfo', 'MEX'),
('Gabriel Garc铆a M谩rquez', 'COL'),
('Juan Gabriel Vasquez', 'COL'),
('Julio Cort谩zar', 'ARG'),
('Isabel Allende', 'MEX'),
('Octavio Paz', 'MEX'),
('Juan Carlos Onelli', 'URU');

bueno ya sabemos insertar pero ustedes se preguntaran y como eliminamos el contenido que insertamos dentro de la base de datos, pues d茅jame darte este aporte te servir谩 馃槂 les presento a mi amigo DELETE.

Si mandamos la cadena vacia 鈥 ', me sac贸 error, por eso mejor mandamos un null para que el campo exista pero sin informacion

En las versiones m谩s actuales de Mysql la sisntaxis que utiliza @beco ya no es utilizada ** 鈥 鈥 **.

En su lugar se utiliza NULL y 0

_"An integer or floating-point column can have the additional attribute AUTO_INCREMENT. When you insert a value of NULL (recommended) or 0 into an indexed AUTO_INCREMENT column, the column is set to the next sequence value. "

_

mysql> CREATE TABLE operations (
-> operation_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> book_id INTEGER UNSIGNED,
-> client_id INTEGER UNSIGNED,
-> type ENUM(鈥楶RE鈥,鈥楧EV鈥,鈥榁EN鈥) NOT NULL,
-> created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-> updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
-> ON UPDATE CURRENT_TIMESTAMP,
-> finished TINYINT(1) NOT NULL);
Query OK, 0 rows affected (0.01 sec)

Cuando ejecuto el primer INSERT

<INSERT INTO authors(author_id, name, nationality) VALUES('', 'Juan Rulfo', 'MEX');>

Me marca el siguiente error

<ERROR 1366 (HY000): Incorrect integer value: '' for column 'author_id' at row 1
>
y fue necesaria la siguiente modificaci贸n:

<INSERT INTO authors(author_id, name, nationality) VALUES(NULL, 鈥楯uan Rulfo鈥, 鈥楳EX鈥);>


Ok tiene raz贸n al menos en mi caso la base de datos no me dejo ingresar un valor distinto a entero para el campo author_id

Buen铆simo el INSERT INTO para el insert de varios registros a una tabla, la vd que est谩 buen铆simo

La solucion al problema de 鈥樷 es poner NULL, ejemplo

INSERT INTO authors(author_id, name, nationality) 
VALUES (NULL, 'Juan Rulfo', 'MEX');

excelente clase.

Hola, a mi me funciono as铆, para ejecutar el autoincremento;
INSERT INTO authors VALUES(null,'Horacio arquez','COL');

En mi caso no me permiti贸:
鈥 1 NO DEJA, POR EL ID VACIO
INSERT INTO authors(author_id,name, nationality)
VALUES (鈥欌,鈥楯uan Rulfo鈥,鈥楳ex鈥);

Excelente curso

CREATE TABLE IF NOT EXISTS operations(
operation_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
book_id INTEGER UNSIGNED NOT NULL,
client_id INTEGER UNSIGNED NOT NULL,
type ENUM(鈥楶鈥, 鈥楧鈥, 鈥榁鈥) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
finished TINYINT(1) NOT NULL DEFAULT 0
);
create table IF NOT EXISTS books (
book_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
author INTEGER UNSIGNED,
title VARCHAR(100) NOT NULL,
year INTEGER UNSIGNED NOT NULL DEFAULT 1900,
language VARCHAR(2) NOT NULL DEFAULT 鈥榚s鈥 COMMENT 鈥業SO 639-1 Language鈥,
cover_url VARCHAR(500),
price DOUBLE(6,2) NOT NULL DEFAULT 10.0,
sellable TINYINT(1) DEFAULT 1,
copies INTEGER NOT NULL DEFAULT 1,
description TEXT
);
CREATE TABLE IF NOT EXISTS author(
author_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
nationality VARCHAR(3)
);
CREATE TABLE clients (
client_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(40) NOT NULL UNIQUE,
birthdate DATETIME,
gender ENUM(鈥楳鈥,鈥楩鈥,鈥楴D鈥) NOT NULL,
active TINYINT(1) NOT NULL DEFAULT 1,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

INSERT INTO authors (author_id, name, nationality)
VALUES(NULL, 'Juan Rulfo', 'MEX');

INSERT INTO authors (name, nationality)
VALUES('Gabriel Garc铆a M谩rquez', 'COL');

INSERT INTO authors 
VALUES(null, 'Andr茅s Caicedo', 'COL');

INSERT INTO authors 
VALUES(null, 'Julio Cortazar','ARG');```
 
Asegurarse de que exista un espacio entre authors' y VALUES';  de otra forma, me dec铆a que ten铆a error de sintaxis.
CREATE TABLE IF NOT EXISTS operations (
`operation_id` INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`book_id` INTEGER,
`client_id` INTEGER,
`type` ENUM('vendido','prestado','devuelto') NOT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`finshed` TINYINT(1) NOT NULL
);

ALGUIEN DE PERU CON QUIEN PUEDA PODAMOS REUNIRNOS

驴Cuales son los IDE que usan para escribir c贸digo de MySQL para Mac?

Lo que yo hago es colocar autoincremental y no colocar esa columna a la hora de hacer el insert te evita problemas.

Existen varias manera de insertar datos en las tablas a trav茅s del comando INSERT
Especificando todas las columnas y todos los valores

  • INSERT INTO authors (author_id, name, nationality) VALUES (鈥 ', 鈥楯uan Rulfo鈥, 鈥楳EX鈥 );
    -Se deja el campo vac铆o del id por el auto incrementable.
    Especificando solo las columnas a las que se les agregaran valores
  • INSERT INTO authors (name, nationality) VALUES (鈥楯uan Rulfo鈥, 鈥楳EX鈥 );
    Sin especificar las columnas y solo los valores
  • INSERT INTO authors VALUES (鈥 ', 鈥楯uan Rulfo鈥, 鈥楳EX鈥 );
    Aqui se deben agregar todos los valores sin importar si son campos vacios porque se entiende que se llenaran todas las columnas sin excepciones

Que buenos consejos va dejando el profe alberto durante el video !!!
(Y)

Para la configuraci贸n de la instalaci贸n que manejo, es necesario hacer esto:

INSERT INTO authors(author_id,name,nationality)
VALUES(NULL,鈥楯uan Rulfo鈥,鈥楳EX鈥);

INSERT INTO authors(name, nationality)
VALUES(鈥楪abriel Garcia Marquez鈥, 鈥楥OL鈥);

INSERT INTO authors
VALUES(NULL, 鈥楯uan Gabriel Vazquez鈥, 鈥楥OL鈥);

De las tres formas, solo me funcion贸 la segunda鈥 adjunto mi ejemplo:

Alguien mas tuvo problemas con los acentos? 驴saben como se puede solucionar?

Si por error escribes mal uno de los imputs no me dejaba meter ni salirme de ahi, tenia que cerrar el bash 驴alguien sabe como solucionarlo sin recurrir a cerrarlo?

Necesta ser m谩s did谩ctico el profesor!!!

En lo a帽os que llev贸 aprendiendo a programar y manejar bases de datos e usado una pr谩ctica para los campos de la tabla de la forma siguiente: Nombre de la tabla siempre en min煤scula. Nombre de los campos: Trabajo con prefijos ej. Una tabla de inventario coloco en las columnas INV_ID, INV_DESCRIPTION, INV_DATE ETC ETC. Ventajas hay campos como description que se repite mucho y est茅 m茅todo ayuda bastante en el momento de grabar o leer informaci贸n. Es complemento un aporte a lo que estamos aprendiendo Espero que les sea 煤til,

En mi caso el primer tipo de insersion me marco error ya que el 鈥溾 no era un tipo de dato Integer para el author_id, solo me funciono la segunda. pero en la consulta si se ve agregados los id

Nota:
Se puede cambiar el orden de los campos en el insert pero consecuentemente se debe respetar ese mismo orden en la lista de VALUES.

INSERT INTO authors(nationality, name, author_id) VALUES ('USA', 'John Doe', 16);

Me paso que con las querys siguientes no me insertaron el la base de datos por error que el id_authors estaba vaci贸 por consiguiente les coloque su id y funciono correctamente como podr铆a evitar eso con dichas querys?

INSERT INTO authors(author_id, name, nationality)
VALUES (鈥2鈥,鈥楯uan Rulfo鈥, 鈥楳EX鈥);

INSERT INTO authors
VALUES(鈥3鈥,鈥楯uan Gabriel Vasquez鈥, 鈥楥OL鈥);

En mi caso, Mar铆aDB no me permite entrar con id 鈥樷

Si usan MariaDB, en lugar de poner:

INSERT INTO authors
       VALUES('', 'Juan Gabriel Vasquez', 'COL');

usen null para la columna de id que deber铆a quedar vac铆a.

INSERT INTO authors
      VALUES(null, 'Juan Gabriel Vasquez', 'COL');

Para solucionar el error en el insert utilic茅 las siguientes l铆neas:

INSERT INTO authors(author_id, name, nationality)
VALUES (NULL, 'Juan Rulfo', 'MEX');

INSERT INTO authors(name, nationality)
VALUES ('Gabriel Garc铆a M谩rquez', 'COL');

INSERT INTO authors 
VALUES (NULL, 'Juan Gabriel Vasquez', 'COL');

Fomas de realizar un insert:

INSERT INTO authors(author_id, name, nationality)
VALUES(NULL, 'Juan Rulfo', 'MEX');

INSERT INTO authors(name, nationality)
VALUES('Gabrile Garc铆a M谩rquez', 'COL');

INSERT INTO authors VALUES('', 'Juan Gabriel Vasquez', 'COL');

INSERT INTO authors(name, nationality) VALUES
('Julio Cort谩zar','ARG'),
('Isabel Allende','CHI'),
('Octavio Paz','MEX'),
('Juan Carlos Onetti','URU');```

INSERT INTO

Este comando nos sirve para insertar varios valores a una tabla, asi:

INSERT INTO `authors` 
VALUES (1,'Sam Altman','USA'),
		   (2,'Freddy Vega','COL')
INSERT INTO authors(name, nationality)
    -> VALUES('Julio Cort谩zar', 'ARG'),
    -> ('Isabel Allende', 'CHI'),
    -> ('Octavio Paz', 'MEX'),
    -> ('Juan Carlos Onetti', 'URU')
    -> ;

INSERT INTO authors (name, nationality)
VALUES(鈥楯uan Rulfo鈥, 鈥楳EX鈥),
(鈥楪abriel Garc铆a M谩rquez鈥, 鈥楥OL鈥),
(鈥楯uan Gabriel Vasquez鈥, 鈥楥OL鈥),
(鈥楯ulio Cort谩zar鈥, 鈥楢RG鈥),
(鈥業sabel Allende鈥, 鈥楥HI鈥),
(鈥極ctavio Paz鈥, 鈥楳EX鈥),
(鈥楯uan Carlos Onetti鈥, 鈥楿RU鈥);

鈥 -- INSERT INTO tabla(COLUMNAS*) VALUES(VALORES)
鈥 Tres formas distintas:

INSERT INTO authors(author_id, name, nationality)
VALUES(鈥欌,鈥楯uan Rulfo鈥,鈥楳EX鈥); 鈥 podemos trabajarlo uno debaje de otro. Posiblemente nos de error por el AUTO INCREMENT ya que les estamos dando un valor vac铆o tipo STRING con las comillas 鈥樷. Mejor seguimos con el siguiente m茅todo. Tambi茅n podemos asignarle un n煤mero o NULL.

INSERT INTO authors (name, nationality) 鈥 Todo lo que vaya entre estas columans debe tener sus valores
VALUES(鈥楪abo M谩rquez鈥,鈥楥OL鈥);

INSERT INTO authors
VALUES (鈥欌, 鈥楳ario Vargas Llosa鈥, 鈥楶ER鈥); 鈥 Nuevamente me muestra un INCORRECT INTEGER VALUE

INSERT INTO authors
VALUES (鈥欌,鈥楳ario Vargas Llosa鈥, 鈥楶ER鈥); 鈥 Nuevamente me muestra un INCORRECT INTEGER VALUE

INSERT INTO authors (name, nationality) 鈥 Todo lo que vaya entre estas columans debe tener sus valores
VALUES(鈥楯ulio Cort谩zar鈥,鈥楢RG鈥),
(鈥業sabel Allende鈥,鈥楥HI鈥),
(鈥楯ulio Ram贸n Ribeyro鈥,鈥楶ER鈥),
(鈥楥茅sar Vallejo鈥,鈥楶ER鈥),
(鈥極ctavio Paz鈥,鈥楳EX鈥);

Yo si me estaba preguntando si no daria error por mandr un str cuando en la tabla definimos la columna como un entero y mandamos comillas vacias y eso lo toma como str

Lo que habla al principio el profesor es acerca de normalizaci贸n pueden leer mas aqui: https://platzi.com/blog/normalizar-una-base-de-datos-y-no-morir-en-el-intento/

-- Generar multiples inserts
INSERT INTO authors(name, nationality)
VALUES('Garcia Marquez', 'COL'),
('Andres Hernandez', 'CHI'),
('Robert Kiyosaki', 'USA');

Si alguien quiere una herramienta para trabajar con bases de datos, una que es bastante 煤til se llama DBeaver Community, se puede trabajar con m煤ltiples sistemas gestores de bases de datos como mariadb (que es igual a mysql pero gratis), mysql, postgres, etc.

Hola! Tengo un peque帽o problema鈥 No consigo que al hacer Copy-Paste desde el editor de textos hac铆a la consola se pegue bien y me genera errores. He probado usando el Bloc de Notas de Windows y Visual Studio Code鈥 驴Alguna sugerencia?

Dejo el c贸digo con los ejemplos de la clase por si les he de ayuda

INSERT INTO  `authors` (author_id,name,nationality)
    VALUES (NULL,'Juan Rulfo','MEX');
INSERT INTO  `authors` (name,nationality)
    VALUES ('Gabriel Garc铆a M谩quez','COL');
INSERT INTO  `authors` 
     VALUES (NULL,'Juan Gabriel Vasquez','COL');

INSERT INTO  `authors` (name,nationality) 
    VALUES  
            ('Julio Cort谩zar','COL'),
            ('Isabelle Allende','CHI'),
            ('Octavio Paz','MEX'),
            ('Juan Carlos Onetti','URU');

Se puede usar el insert if not exists?

Es buena pr谩ctica realizar inserciones de 50 registros m谩ximo. Esto no es necesariamente obligatorio pero funciona muy bien y esto se hace porque s铆 hay alg煤n problema en la inserci贸n s贸lo se pierde datos de 50 a 50.

No entiendo por que cuando quiero insertar un autor en la tabla sin especificar el author_id salta del 1 al 193, por que pasa esto ??

卤----------卤-----------------------卤------------+
| author_id | name | nationality |
卤----------卤-----------------------卤------------+
| 1 | Juan Rulfo | MEX |
| 193 | Gabriel Garc铆a M谩rquez | COL |
卤----------卤-----------------------卤------------+
2 rows in set (0.00 sec)

mysql> INSERT INTO authors
-> VALUES(null,鈥楯uan Gabriel Vasquez鈥, 鈥楥OL鈥);
Query OK, 1 row affected (0.01 sec)

mysql> select * from authors;
卤----------卤-----------------------卤------------+
| author_id | name | nationality |
卤----------卤-----------------------卤------------+
| 1 | Juan Rulfo | MEX |
| 193 | Gabriel Garc铆a M谩rquez | COL |
| 194 | Juan Gabriel Vasquez | COL |
卤----------卤-----------------------卤------------+
3 rows in set (0.01 sec)

a quienes les salga el ERROR 1366 (HY000): Incorrect integer value: 鈥樷 for column 鈥榓uthor_id鈥 at row 1 lo soluciones con la siguiente linea :
SET SQL_MODE = 鈥樷;

Dejo la consulta porque me los agrego empezando por cualqueir ID
mysql> select * from authors
-> ;
卤----------卤-----------------------卤------------+
| author_id | name | nationality |
卤----------卤-----------------------卤------------+
| 193 | Juan Rulfo | MEX |
| 194 | Gabriel Garcia Marquez | COL |
| 195 | Juan Gabriel Vasquez | COL |
卤----------卤-----------------------卤------------+
3 rows in set (0.00 sec)

Saben porque?

Estas clases est谩n siendo muy pr谩cticas y claras.

increible clase

Me gusa las Clases鈥 Felicitaciones

Diferentes formas de insertar datos en una tabla

INSERT INTO authors (author_id, name, nationality) 
VALUES ('', 'Juan Rulfo', 'MEX');

INSERT INTO authors (name, nationality) 
VALUES ('Gabriel Garc铆a Marquez', 'COL');

INSERT INTO authors
VALUES ('', 'Juan Gabriel Vazquez', 'COL');

INSERT INTO authors (name, nationality)
VALUES ('Julio Cort谩zar', 'AR'), 
('Isabel Allende', 'CHI'), 
('Octavio Paz', 'MEX');

INSERT INTO authors VALUES (DEFAULT, 'Juan Carlos Onetti', 'URU');

INSERT INTO authors (author_id, name) VALUES (DEFAULT, 'Pablo Neruda');

INSERT INTO authors (author_id, name) VALUES (15, 'Fernando Savater');

buenas clases

Buen tip!

excelente curso

excelente curso.

Alberto me a parecido un excelente maestro.

Para hacer un mejor uso de las tablas creadas anteriores para la tabla de operations ser铆a mejor colocarle un FOREIGN KEY para id_book

El curso est谩 buen铆simo. Dejo mi pedazo de like馃憤馃徎.

insert into authors(name,nationality) 
values
('Alfredo Antonio','COL'),
('Juna Agustin del Orbe','MEX'),
('Raul Garcia Marquez','RPD'),
('Gabriel de la Cruz','ALE'),
('Hermes Hernandez Hiciano','CHI'),
('Asley Vazquez','ING'),
('Pablo Neruda','ECU')
;```

HOLA CHICOS!
A MI NO ME FUNCIONABA EL SIGUIENTE C脫DIGO
INSERT INTO AUTHORS
VALUES(鈥 ',鈥楪ABRIEL GARC脥A MARQUEZ鈥,鈥楥OLOMBIANO鈥);
PERO AQU脥 EST脕 LA SOLUCI脫N QUE ME FUNCION脫!

INSERT INTO AUTHORS
VALUES(default,鈥楪ABRIEL GARC脥A MARQUEZ鈥,鈥楥OLOMBIANO鈥);

POR SI ALGUIEN TIENE EL MISMO ERROR

No me deja insertar de la primera y tercera forma, me pide que le ponga un valor a author_id

Al realizar el siguiente comando arroja el siguiente error;
mysql> insert into authors values(鈥楯uan Gabriel Vasquez鈥,鈥楥OL鈥);
ERROR 1136 (21S01): Column count doesn鈥檛 match value count at row 1.

Se soluciona de la siguiente forma, y el auto incremento funciona si inconvenientes:
mysql> insert into authors values(0,鈥楯uan Gabriel Vasquez鈥,鈥楥OL鈥);
Query OK, 1 row affected (0.01 sec)

Hola chicos les comparto un codigo m谩s corto para actualizar

    UPDATE CLIENTS
    SET ACTIVE = 0
    WHERE CLIENTS.ID_CLIENT = 3```
La forma en que soluci9ne el error de insertar un valor con ' lo sustituir por NULL:

buena clase!

Solo conocia el primer tipo de insert.

Stay hungry, Stay foolish, grande Steve Jobs

V铆deo para que comprendan, para quien no sepa 馃槂

Bien.

como se limpia pantalla?

Excelente.

en la tabla operations, por que no se usa foreign keys?

realizando Insert de una sola fila

INSERT INTO authors(author_id, name, nationality)
VALUES('','Juan Rulfo','MEX');

INSERT INTO authors(name, nationality)
VALUES('Gabriel Garc铆a M谩rquez','COL');

INSERT INTO authors
VALUES('','Juan Gabriel Vasquez','COL');

Realizando Insert de varias filas

INSERT INTO authors(name, nationality ) 
VALUES 
('Julios Cort谩zar', 'ARG'), 
('Isabel Allende', 'CHI'), 
('Octavio Paz', 'MEX'),
('Juan Carlos Onetti', 'URU');```
 

realizando Insert de una sola fila

INSERT INTO authors(author_id, name, nationality)
VALUES('','Juan Rulfo','MEX');

INSERT INTO authors(name, nationality)
VALUES('Gabriel Garc铆a M谩rquez','COL');

INSERT INTO authors
VALUES('','Juan Gabriel Vasquez','COL');

Realizando Insert de varias filas

INSERT INTO authors(name, nationality ) 
VALUES 
('Julios Cort谩zar', 'ARG'), 
('Isabel Allende', 'CHI'), 
('Octavio Paz', 'MEX'),
('Juan Carlos Onetti', 'URU');```
 

INSERT INTO authors(author_id, name, nationality)
VALUES(鈥欌, 鈥楯uan Rulfo鈥, 鈥楳EX鈥);

INSERT INTO authors(name, nationality)
VALUES(鈥楯ulio Cort谩zar鈥, 鈥楢RG鈥),
(鈥業sabel Allende鈥, 鈥楥HI鈥),
(鈥極ctavio Paz鈥, 鈥楳EX鈥),
(鈥楯uan Carlos Onetti鈥, 鈥楿RU鈥);

Entendido el comando Insert Into

CREATE TABLE IF NOT EXISTS operations(
operation_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
book_id INTEGER UNSIGNED,
client_id INTEGER UNSIGNED,
type ENUM (鈥榁鈥, 鈥楶鈥, 鈥楧鈥),
active TINYINT(1) NOT NULL DEFAULT 1,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON
UPDATE CURRENT_TIMESTAMP,
finished TINYINT(1) NOT NULL
);

Y el tercer insert puede quedar as铆:

<INSERT INTO authors VALUES(NULL, 'Juan Gabriel Vazquez', 'COL');>

Esto debido a que el campo author_id es NOT NULL

Me paso que en base a mi tabla las sintaxis de

INSERT INTO authors (author_id, name, nationality)
VALUES('','Juan Rulfo','MEX');

INSERT INTO authors
VALUES('', ' Juan Gabriel Velazqez', 'COL');

Me marcaba el siguiente error:
ERROR 1366 (HY000): Incorrect integer value: 鈥樷 for column 鈥榓uthor_id鈥 at row 1
Esto es por que en la tabla existe la condici贸n de NOT NULL, por lo que es importante ponerle un 0 al valor y automaticamente este la cambiara al que es.

mysql> INSERT INTO authors
    -> VALUES('', ' Juan Gabriel Velazqez', 'COL');
ERROR 1366 (HY000): Incorrect integer value: '' for column 'author_id' at row 1
mysql> INSERT INTO authors (author_id, name, nationality)
    -> VALUES('0','Juan Rulfo','MEX');
Query OK, 1 row affected (0.01 sec)

Solo me funcion贸 el INSERT into de en medio con la versi贸n de beco jejeje

CREATE TABLE IF NOT EXISTS operations(
operation_id INTEGER PRIMARY KEY AUTO_INCREMENT,
book INTEGER UNSIGNED,
client_id INTEGER UNSIGNED,
type ENUM(鈥1鈥, 鈥0鈥) NOT NULL,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
finished TINYINT(1) NOT NULL,
FOREIGN KEY(book) REFERENCES books(book),
FOREIGN KEY(client_id) REFERENCES clients(client_id)
);

Desde Linux Mint (Derivado de Ubuntu) al ejecutar en consola

INSERT INTO authors VALUES ('', 'Juan Gabriel Vasquez', 'COL');

Genera un error Incorrect integer value: 鈥樷 for column 鈥榓uthor_id鈥 at row 1 por la cadena vacia del identificador de author, para solucionarlo se puede escribir el script de la forma

INSERT INTO authors(author_id, name, nationality ) VALUES (NULL, 'Juan Rulfo', 'MEX');

Reemplazando la cadena vacia por un valor NULL

realizando el INSERT siguiendo el video me daba un error con lo siguiente:

INSERT INTO authors(author_id, author_name, author_nationality)
VALUES ('','Juan Rulfo','MEX');```
_______________________________
ERROR 1366 (HY000): Incorrect integer value: '' for column 'author_id' at row 1

Mi hipotesis es que en VALUES no me permite dejar ese campo en blanco ya que es NOT NULL, ya que al ingresar el munero 1, se ejecuto exitosamente.
?

Para cargar los datos, se podr铆a tambi茅n realizar un LOAD DATA INFILE.

Excelntes clases /o/

NO alcance a ver que versi贸n de mysql esta usando beco.

Es buena pr谩ctica:Tener una buen modelo de bases de datos y un buen modelo de negocio que evite la duplicidad de informaci贸n ya que esto nos ahorra el tiempo de procesamiento, ahorra en espacio.

Mi sentencia de INSERT fue:

INSERT INTO  authors VALUES (null, 'Juan Gabriel', 'COL');

INSERT INTO `name_table` (column_1,column_2,column_3) VALUES ( valor_1,valor_2,valor_3);

INSERT INTO `authors` (name,nationality) VALUES ('Juan Rulfo','MEX'), ('Gabriel Garc铆a M谩quez','COL'), ('Juan Gabriel Vasquez','COL'), ('Julio Cort谩zar','COL');

Es buena pr谩ctica realizar inserciones de 50 registros m谩ximo. Esto no es necesariamente obligatorio pero funciona muy bien y esto se hace porque s铆 hay alg煤n problema en la inserci贸n s贸lo se pierde datos de 50 a 50.

Aqu铆 algo mas avanzado:

Insert into desde un archivo delimitado por pipes ( | ) a una tabla (puede ser tabla f铆sica o temporal):

USE PD;
GO
IF OBJECT_ID(鈥楾EMPDB鈥##TMP_AFILDB_AFM16_20191102鈥)
IS NOT NULL
BEGIN
DROP TABLE ##TMP_AFILDB_AFM16_20191102;
END;
CREATE TABLE ##TMP_AFILDB_AFM16_20191102
([CDATTAB] DECIMAL NULL,
[CINDVAR] VARCHAR COLLATE DATABASE_DEFAULT
NULL,
[CMNT] VARCHAR COLLATE DATABASE_DEFAULT
NULL,
[CODEPS] DECIMAL NULL,
[CUSUNEW] DECIMAL NULL,
[FPRO] DECIMAL NULL,
[FULTNOV] DECIMAL NULL,
[NVALOR] DECIMAL NULL,
[TDATO] VARCHAR COLLATE DATABASE_DEFAULT
NULL,
[XDATTAB] VARCHAR COLLATE DATABASE_DEFAULT
NULL,
[XDES] VARCHAR COLLATE DATABASE_DEFAULT
NULL
);
BULK INSERT ##TMP_AFILDB_AFM16_20191102 FROM
鈥橢:\INTERSOFT\QUERYS\CLONACION\Archivos_Planos\AFM16_20191102.txt鈥
WITH(FIELDTERMINATOR = 鈥榺鈥,ROWTERMINATOR = 鈥榎n鈥);

como se borra pantalla en la consola utilizando windows?
gracias鈥