SQL FAQ
SQL FAQ
FAQ
TABLE OF CONTENTS
PREFACE 3
How can I recover the root password/RESET the password/ create a new password? 7
Why do I get Error Code: 1452: Cannot Add or Update Child Row: INSERT record 999903? 14
Preface
Here we will describe the process you need to go through whenever you encounter an error in programming.
Please read the following two pages carefully, as they will surely save you a lot of time and effort in the long
run!
Even the best programmers out there find it nearly impossible to successfully create the complex code that
delivers the desired output the first time they write it. So, we can say coding is all about trying, stumbling
upon an error, reading the obtained error message, finding a solution, and then applying it. Over and over
again. In fact, this process is repeated infinitely.
Therefore, as a programmer, you need to develop the skill to quickly and efficiently identify and solve
problems that occur while you are coding.
With this question in mind, we will take you through the steps you should follow each time you encounter
an error:
2) If you encounter an error while you are replicating code you’ve seen in a lecture, please re-watch
that video or at least the parts about the query you are trying to execute. Remember that every
symbol and letter could make a difference! So don’t overlook the details – they might be the exact
cause of this error!
3) If the error occurs while you are trying to solve an exercise, please carefully check the files containing
the corresponding solution.
4) In some situations, however, the 3 steps described above may not help. Or… you may still have a
question, even though you’ve managed to solve the error. In that case, please search through the
existing threads in the Q&A section. If you can’t find the answer to your question, you can post a new
one there, and we’ll be happy to help.
SQL
Back to the Table of Contents
While coding in MySQL, keep the following two files open, as they may contain the answers you are looking
for.
1) The SQL - Code - Lectures and Task Solutions.sql file. You can find it in the resources section of
Section 5: SQL files and use Workbench to keep this file open in a separate tab.
In both files, 1) and 2), use Ctrl + F to find a keyword related to the problem you are trying to solve quickly.
Use the FAQ sheet, the Q&A, and best of luck on your learning journey!
SQL
Back to the Table of Contents
https://learn.365datascience.com/question/how-can-i-uninstall-mysql-server-workbench/
To remove MySQL Workbench and Server from your Windows computer, you need to go through the
following 4 steps (with no exception). Make sure you complete all of them to finish the operation
successfully:
2) Uninstall MySQL from the start menu/Firewall/Allow an App through Windows Firewall (if found there)
3) Remove all files from drive C:/ProgramData/MySQL (if this folder is hidden on your computer, you could
search for %programdata% in the start menu)
4) Remove all files from the Windows registry. To complete this step, you need to search for regedit in the
start menu. Then, remove all files from the MySQL folder in the regedit editor.
You must complete all steps from 1) to 4) before you can restart your computer and retry installing the MySQL
Workbench and Server again.
SQL
Back to the Table of Contents
SQL
Back to the Table of Contents
How can I recover the root password/RESET the password/ create a new password?
https://learn.365datascience.com/question/how-can-i-recover-the-root-password-reset-the-password-
create-a-new-password/
There’s one extremely important thing to remember during the installation process, and it is the password
you are going to set!
Although it is possible to change it later, it might not be the easiest thing to do. In such occasions,
reinstallation of the software could sometimes be the quickest option.
Basically, if you need to reset your password, it’s best to read through Section B.4.3.2.1 from the following
link:
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
There, you will find a seven-step process provided by the creators of the software, so it is as good as it can
be.
Remember that if you find it too complicated or there's something that doesn't work as indicated in the
steps, you could uninstall MySQL completely, and install it again, this time remembering your password.
If it comes down to the point of uninstalling MySQL on Windows, here is a link that describes the 4 steps you
should go through to do that (i.e. to remove the program from your computer completely).
SQL
Back to the Table of Contents
4)
FLUSH PRIVILEGES;
and
SQL
Back to the Table of Contents
https://learn.365datascience.com/question/installation-stops-at-starting-server-configuration-step-what-
can-i-do/
Failure to execute configuration steps during installation may result from the following problems:
1) Incompatibility between your Windows Operating System and the version of Workbench you have
installed (for instance, if your computer is X86 but you are trying to install X64, you may encounter such
issues).
2) Failing to properly clean the MySQL files from the registry of your computer after an unsuccessful attempt
to install Workbench. Please refer to the following explanation of this problem.
SQL
Back to the Table of Contents
https://learn.365datascience.com/question/configuration-stops-at-initializing-database-how-can-i-fix-this/
Please open the my.ini configuration file that should be found in the following folder:
"C:\ProgramData\MySQL\MySQL Server <version>\my.ini"
Then, open the file and at the end, add the phrase lower_case_table_names=1 (or, if it is already there but
it equals a different value, set it up to equal 1).
Finally, save the file and try installing MySQL again.
SQL
Back to the Table of Contents
https://learn.365datascience.com/question/how-can-i-download-mysql-server-and-workbench-on-a-mac/
https://learn.365datascience.com/courses/sql/installing-mysql-on-macos-and-unix-systems/
Basically, the installation of MySQL Workbench on a Mac differs from the installation process on Windows.
In case the instructions we’ve provided so far haven’t been helpful, here’s an alternative solution which
involves no actual installer. You just need to download two DMG Archive files, and then use them to install
the program.
From this link, https://dev.mysql.com/downloads/mysql/,
you need to download a Community Server that is for the Mac OS X operating system.
SQL
Back to the Table of Contents
After you have installed them, open the first DMG Archive and follow the instructions.
Please remember any passwords you create or see on the way, as you will need them when starting the
MySQL server.
SQL
Back to the Table of Contents
Keywords: ROLLBACK
https://learn.365datascience.com/question/rollback-doesn-t-work-how-can-i-solve-this-problem/
https://learn.365datascience.com/courses/sql/the-update-statement-part-i/
There are very few reasons that could lead to this problem. We believe there is a setting that, for some
reason, has been switched on or off, and that’s what causes the issue here.
In the SQL editor of MySQL Workbench, there is the possibility to toggle the autocommit mode by pressing a
single button. This is the third of the three icons seen in the red rectangle. If you’ve pressed this button, it
means that this mode will be turned on, and each statement will be committed immediately.
Please check if it has been left intact and you can see the three icons within the red rectangle in color, just as
it is shown in the picture above.
(When the button has been pressed, the autocommit mode will be toggled on, and the tick and the X button
will probably appear grey.
If this is the case, please toggle off the autocommit button by pressing the third of the icons to see the tick
and the X button in blue again.)
SQL
Back to the Table of Contents
Why do I get Error Code: 1452: Cannot Add or Update Child Row: INSERT record 999903?
https://learn.365datascience.com/question/why-do-i-get-error-code-1452/
https://learn.365datascience.com/courses/sql/the-insert-statement-part-ii/#assignment
Please stick to our general request to execute all code you see in the lectures and the exercises, in the given
order. Doing this will prevent you from encountering some errors, such as this one – Error Code: 1452.
This error appears if you have already created another table, employees, where you have missed inserting
data about the individual with id 999903. The relationship you have established
between employees and dept_emp requires that you first insert a record in employees, and then insert a
(related) record in dept_emp.
ON DELETE CASCADE means that if you remove record 999903 from employees, record 999903 will
automatically be removed from dept_emp as well.
In brief, make sure the relationship between employees and dept_emp is valid and 999903 exists in
employees so that you don’t get the same error the next time you try inserting 999903 in dept_emp.
SOLUTION:
As explained in the article preceding this video, double-check if you’ve first inserted information about
employee number 999903 in the employees table. Only then you should proceed with inserting information
in the titles and dept_emp tables.
SQL
Back to the Table of Contents
https://learn.365datascience.com/question/what-does-the-minus-sign-mean-in-order-by-a-emp-no-desc/
https://learn.365datascience.com/courses/sql/union-vs-union-all/#assignment
If you end the relevant query this way, you will obtain an output ordered with the highest employee number
on top, the lowest employee number down the list, and the null values at the end.
This ending of the query will do the opposite - the null values will be on top, and then the employee numbers
will grow from the lowest to the highest.
SQL
Back to the Table of Contents
For options 3) and 4), remember that using ORDER BY followed by a minus sign works for numeric data only!
3) ORDER BY -a.emp_no DESC;
Using this code, you will first order the employees from the lowest to the highest number, and then leave
the null values at the end.
Following the logic explained so far, this ending would list the null value first, and will then order all
employees from the highest to the lowest number.
SQL
Back to the Table of Contents
Depending on the situation, you may choose between 1), 2), 3), and 4). We think 3) suits our example best.
That's why we have ended the query with ORDER BY -a.emp_no DESC; .
SQL