jussi
jussi

Reputation: 2216

MySQL Load data Statements

i have some large SQL-Files with many "INSERT INTO" Statements.

My Command:

mysql> Load data local infile 'values.sql' into table test_table;

My Statements look like these:

INSERT INTO test_table(column1,column2) VALUES('1','2');
INSERT INTO test_table(column1,column2) VALUES('3','4');

When i run this Command, my test_table column1 will be filled with the complete Statement. Whats my mistake?

Upvotes: 1

Views: 1537

Answers (2)

Filip Popović
Filip Popović

Reputation: 2655

From MySQL reference LOAD DATA INFILE:

The LOAD DATA INFILE statement reads rows from a text file into a table at a very high speed. The file name must be given as a literal string.

This means that MySQL expects rows with column values in that file, not SQL statements to execute.

Check Executing SQL Statements to see the way to do what You want.

Upvotes: 1

djdy
djdy

Reputation: 6919

load data is for stuff like CSV.

You have actual SQL INSERT statements.

Try:

mysql -u USERNAME -p DATABASENAME < values.sql

Upvotes: 3

Related Questions