Este es un archivo sql
# mo.sql
DROP TABLE IF EXISTS mo;
#@ _CREATE_TABLE_
CREATE TABLE mo
(
name CHAR(30),
age INT,
salary INT
);
#@ _CREATE_TABLE_
LOAD DATA LOCAL INFILE 'moja-2001.txt' INTO TABLE mo;
Lo ejecuto desde la terminal de Linux
mysql -p cookbook < mo.sql
Sin advertencias, sin errores.
SELECT * FROM mo;
+--------------------------+------+--------+
| name | age | salary |
+--------------------------+------+--------+
| jova jovic | 24 | NULL |
| ceda prashak | 25 | NULL |
| toma grobar 28 20001 | NULL | NULL |
+--------------------------+------+--------+
He creado un archivo txt con geany
editor de texto.
jova jovic 24 999
ceda prashak 25 1000
toma grobar 28 20001
¿Por qué la columna de salario es incorrecta? ¿Por qué la tercera fila también está incorrecta?
La última fila no utiliza los separadores correctos para los valores. Sospecho que las otras filas separan los valores usando pestañas y la última usa espacios. Lo mismo para la columna salary
.
Asegúrese de utilizar el mismo separador para los valores. Es mejor usar una coma (es visible y menos propensa a errores) y usar la FIELDS TERMINATED BY
cláusula de la LOAD DATA
declaración para informar a MySQL al respecto.
Cambie el archivo para que se vea así:
jova jovic,24,999
ceda prashak,25,1000
toma grobar,28,20001
e importarlo así:
LOAD DATA LOCAL INFILE 'moja-2001.txt' INTO TABLE mo FIELDS TERMINATED BY ',';
Lea más sobre la LOAD DATA
declaración .
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras