Hugues Peccatte a écrit :
2014-06-13 19:00 GMT+02:00 Ashutosh Dhundhara ashutoshdhundhara@yahoo.com:
Hi, I was working on RFE #861 https://sourceforge.net/p/phpmyadmin/feature-requests/861/ (Simulate UPDATE query). Lets say I have two tables:
`table_1` +----+----------+ | id | value | +----+----------+ | 10 | value_10 | | 20 | value_20 | +----+----------+
`table_2` +----+----------+ | id | value | +----+----------+ | 10 | value_10 | | 20 | value_20 | +----+----------+
UPDATE Query: UPDATE table_1, table_2 SET table_1.value = 'NEW_VALUE', table_2.value='NEW_VALUE' WHERE table_1.id > 10 AND table_2.id > 10;
This will affect 2 rows.
How to simulate this query using SELECT statement?
I was trying:
SELECT DISTINCT table_1.value, table_2.value FROM table_1, table_2 WHERE table_1.value <> 'NEW_VALUE' AND table_2.value <> 'NEW_VAUE' AND table_1.id > 10 AND table_2.id > 10;
but this only returns 1 row. Can this be done in a single query only?
Regards, Ashutosh Dhundhara
Hi,
Isn't it possible to run the query with set AUTOCOMMIT=0; and a rollback at the end?
Hugues.
Thanks Hugues. In the "simulate query" subtask [0] for this student, one of the feature requests is [1] which involves rolling back (but thanks for the mention of AUTOCOMMIT=0). But this is only for transactional storage engines.
Another aspect of this subtask is [2] which involves a simulation via SELECT.
[0] https://wiki.phpmyadmin.net/pma/GSoC_2014_Ideas_List#Interface_improvements
[1] http://sourceforge.net/p/phpmyadmin/feature-requests/869/
[2] http://sourceforge.net/p/phpmyadmin/feature-requests/861/