Good Day everyone, I would like some help on uploading this data in mysql using php. I don't know if this question was asked already, but I can't really find answers so any help will be appreciated thank you.
As you see in the Data From CSV area that is how I will upload the data, but there are empty values in the description which I need to fill up using php. If the document are equal the description should also be equal.
Importing:
LOAD DATA INFILE
INTO TABLE tmp_table
{ importing options }
(AccountName, DocumentNo, Description);
Updating:
UPDATE tmp_table t1
JOIN tmp_table t2 USING (AccountName, DocumentNo)
SET t1.Description = t2.Description
WHERE t2.Description > '';
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=22c292e88fa4f9edae1c767bf81f070a
There must be only one distinct non-empty value inDescription
for each(AccountName, DocumentNo)
pair value (i.e. more than one row with non-empty value allowed, but all these values must be the same). If not then the output is unpredictable, moreover, in some rows one non-empty value may be replaced with another non-empty value.
Of course this everything may be done with one (formally) query.
You may attach your CSV file as a table withENGINE = CSV
option then copy the data into it using
INSERT INTO tmp_table (AccountName, DocumentNo, Description)
SELECT AccountName, DocumentNo, t2.Description
FROM csv_table t1
JOIN csv_table t2 USING (AccountName, DocumentNo)
WHERE t2.Description > '';
But your CSV must not contain prefix lines which must be ignored during importing.
There must be only one non-empty value inDescription
for each(AccountName, DocumentNo)
pair value. If not then the amount of rows intmp_table
will be multiplied. But you may edit the query and replacecsv_table t2
with according subquery which distinctsDescription
value for each(AccountName, DocumentNo)
pair value.
You don't need PHP for this. Just import the CSV data (with whatever tool or language you use) into a temporary table, then you fill in the gaps with SQL too, and finally push the data into the main table. That will relieve you from coding and will make the process a lot efficient & faster.
...Code to import CSV data to temporary table
UPDATE tmp_data
SET description = document
WHERE description = '' OR description IS NULL;
INSERT INTO main_data (account, document, description)
SELECT account, document, description FROM tmp_data;
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Find the answer in similar questions on our website.
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
PHP (from the English Hypertext Preprocessor - hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites.
The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
DBMS is a database management system. It is designed to change, search, add and delete information in the database. There are many DBMSs designed for similar purposes with different features. One of the most popular is MySQL.
It is a software tool designed to work with relational SQL databases. It is easy to learn even for site owners who are not professional programmers or administrators. MySQL DBMS also allows you to export and import data, which is convenient when moving large amounts of information.
https://www.mysql.com/
Welcome to the Q&A site for web developers. Here you can ask a question about the problem you are facing and get answers from other experts. We have created a user-friendly interface so that you can quickly and free of charge ask a question about a web programming problem. We also invite other experts to join our community and help other members who ask questions. In addition, you can use our search for questions with a solution.
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.