0

I have a table in the database called locations which contains 2 columns(id which is auto incremented , location) , And I have a csv contains 1 column looks like : enter image description here

When I try to import that file to locations table , I get this error invalid column count in CSV input on line 1.

Also I tried CSV using LOAD DATA but I get this : MySQL returned an empty result set (i.e. zero rows)

1

2 Answers 2

0

Maybe you should use:

$array = array_map('str_getcsv', file('file.csv'));

You have more option to check variables.

Sign up to request clarification or add additional context in comments.

Comments

0

If Java is supported in your machine, Use below solution

https://dbisweb.wordpress.com/

The simple configuration required to do is

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <connections>
      <jdbc name="mysql">
          <driver>com.mysql.jdbc.Driver</driver>
          <url>jdbc:mysql://localhost:3306/test1</url>
          <user>root</user>
          <password></password>
      </jdbc>
  </connections>
  <component-flow>
      <execute name="file2table" enabled="true">
          <migrate>
              <source>
                  <file delimiter="," header="false" path="D:/test_source.csv"/>
              </source>
              <destination>
                  <table connection="mysql">locations</table>
              </destination>
              <mapping>
                  <column source="1" destination="location" />
              </mapping>
          </migrate>
      </execute>
  </component-flow>
</config>

If you are interested, Same can be achieved by Java code.

Source source = new File("D:/test_source.csv", ',', false);
        Destination destination = new Table("locations", new JDBCConnection("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/test1", "root", ""));
        List<Mapping> mapping = new ArrayList<>();
        mapping.add(new Mapping("1", "location", null));
        Component component = new MigrateExecutor(source, destination, mapping);
        component.execute();

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.