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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.