[Phpmyadmin-devel] Sql export feature for queries

Hugues Peccatte hugues.peccatte at gmail.com
Fri Aug 15 12:15:46 CEST 2014

2014-08-15 9:54 GMT+02:00 Smita <kumarismita62 at gmail.com>:

> Hi,
> I came across the bug #4444
> <http://sourceforge.net/p/phpmyadmin/bugs/4444/> related to export
> feature for queries.
> I'm not sure how exactly this feature is supposed to behave if we are
> exporting rows with some but not all columns and also in case we have
> aliases and even when we have join queries.
> Assume we have tables:
> actor (actor_id, first_name, last_name, city_id) with actor_id as primary
> key.
> address (address_id, adress, city_id, city_id, district, postal_code,
> phone) with address_id as primary key and phone have not null unique
> constraints.
> 1. when we select some but not all columns ex,
> Select address_id, address from address:
> when exported few of the rows, it have create table statement for table
> 'address' with all the original columns not just these two. and data from
> just these two columns in the Insert statements. so here when the same
> exported file, we wish to import back will not work as phone have unique
> constraint and we are not inserting the phone values.
> Also If user is seeing just two of the columns in the table structure at
> screen so they might be doing export thinking that it will be exporting the
> same structure as on the screen.


I agree that the "CREATE TABLE" should have the same structure that the
data to "INSERT".

> 2. When we have aliases in column names:
> ex: select actor_id, first_name as fname from actor;
> So when we export few of the resultant rows, should the create table
> statement have a column name first_name or fname ?. As I think of it,  It
> should be fname, if user have in mind that he is exporting the structure of
> the table he is looking at screen.

I agree that we should have the field alias as the column name. With this
feature, the user can keep the original name by not using aliases.

> 3. When we have alias in table names:
> The name of the table in create statement should be alias name or original
> table name?

Again, I agree with table alias as the name of new table, for the same

> 4. When we have JOIN queries with more than one tables:
>  ex:
> SELECT * FROM (SELECT actor_id FROM actor as e INNER JOIN address as g on
> e.actor_id = g.city_id) as t1
> Currently if we try to export some rows from the above query, it export
> nothing it goes on edit sql screen.

I ran the query, select some lines and clicked on the link "Export" at the
bottom of the table and had a file to download.
I used the "Quick" export method.

BUT… It seems that the content of the file is not the expected result. I
don't have any "INSERT" queries… After the "CREATE TABLE" I have this:
-- Error reading data: (#1054 - Unknown column 'actor.actor_id' in 'where

Do we have a bug into the export ?


> Please share your thoughts.
> Thanks and Regards
> - Smita
> ------------------------------------------------------------------------------
> _______________________________________________
> Phpmyadmin-devel mailing list
> Phpmyadmin-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20140815/f3d86eb2/attachment.html>

More information about the Developers mailing list