After upgrading the server/ PHP version/ Cpanel account transferring to a different server we might face this PHP Warning. It because of the session path-changing issue.
Example before transferring Cpanel account their was the variable session.save_path might set different
Before session.save_path=/var/cpanel/php/sessions/ea-php56
After you might need to update based on your php version like 7.2 7.3
We can change this variable session.save_path path using changing php ini file or using cpanel
Login Cpanel then
MultiPHP INI Editor >> Basic Mode" for each version of PHP installed on the system. However, ensure to revert this value back to "/var/cpanel/php/sessions/ea-php$$"
Here $$ means your current PHP version. example php71 /php72 / php73 / php74
Summary: in this tutorial, you will learn how to use theMySQL UPDATE JOINstatement to perform the cross-table update. We will show you step by step how to useINNER JOIN clause andLEFT JOIN clause with theUPDATEstatement.
MySQL UPDATE JOIN syntax
You often use joins to query rows from a table that have (in the case of INNER JOIN) or may not have (in the case of LEFT JOIN) matching rows in another table. In MySQL, you can use the JOIN clauses in the UPDATE statement to perform the cross-table update.
The syntax of the MySQL UPDATE JOIN is as follows:
UPDATE T1, T2,
[INNERJOIN | LEFTJOIN] T1 ON T1.C1 = T2. C1
SET T1.C2 = T2.C2,
T2.C3 = expr
WHERE condition
Let’s examine the MySQL UPDATE JOIN syntax in greater detail:
First, specify the main table ( T1 ) and the table that you want the main table to join to ( T2 ) after the UPDATE clause. Notice that you must specify at least one table after the UPDATE clause. The data in the table that is not specified after the UPDATE clause will not be updated.
Next, specify a kind of join you want to use i.e., either INNER JOIN or LEFT JOIN and a join predicate. The JOIN clause must appear right after the UPDATE clause.
Then, assign new values to the columns in T1 and/or T2 tables that you want to update.
After that, specify a condition in the WHERE clause to limit rows to rows for updating.
If you follow the UPDATE statement tutorial, you will notice that there is another way to update data cross-table using the following syntax:
UPDATE T1, T2
SET T1.c2 = T2.c2,
T2.c3 = expr
WHERE T1.c1 = T2.c1 AND condition
This UPDATE statement works the same as UPDATE JOIN with an implicit INNER JOIN clause. It means you can rewrite the above statement as follows:
UPDATE T1,T2
INNERJOIN T2 ON T1.C1 = T2.C1
SET T1.C2 = T2.C2,
T2.C3 = expr
WHERE condition
Let’s take a look at some examples of using the UPDATE JOIN statement to having a better understanding.
MySQL UPDATE JOIN examples
We are going to use a new sample database named empdb in for demonstration. This sample database consists of two tables:
The employees table stores employee data with employee id, name, performance, and salary.
The merits table stores employee performance and merit’s percentage.
MySQL UPDATE JOIN example with INNER JOIN clause
Suppose you want to adjust the salary of employees based on their performance.
The merit’s percentages are stored in the merits table, therefore, you have to use the UPDATE INNER JOIN statement to adjust the salary of employees in the employees table based on the percentage stored in the merits table.
The link between the employees and merit tables is the performance field. See the following query:
UPDATE employees
INNERJOIN
merits ON employees.performance = merits.performance
SET
salary = salary + salary * percentage;
How the query works.
We specify only the employees table after UPDATE clause because we want to update data in the employees table only.
For each row in the employees table, the query checks the value in the performance column against the value in the performance column in the merits table. If it finds a match, it gets the percentage in the merits table and updates the salary column in the employees table.
Because we omit the WHERE clause in the UPDATE statement, all the records in the employees table get updated.
Because these employees are new hires so their performance data is not available or NULL .
To increase the salary for new hires, you cannot use the UPDATE INNER JOIN statement because their performance data is not available in the merit table. This is why the UPDATE LEFT JOIN comes to the rescue.
The UPDATE LEFT JOIN statement basically updates a row in a table when it does not have a corresponding row in another table.
For example, you can increase the salary for a new hire by 1.5% using the following statement:
UPDATE employees
LEFTJOIN
merits ON employees.performance = merits.performance
SET
salary = salary + salary * 0.015WHERE
merits.percentage ISNULL;
In this tutorial, we have shown you how to use the MySQL UPDATE JOIN with the INNER JOIN and LEFT JOIN clauses to perform the cross-table update.