Package: phpmyadmin
Version: 4:2.6.2-3sarge1
Severity: normal

When selecting from one single table in the SQL tab, it should be
possible to export the selected data in an SQL script.
However, if the query contains a subquery, the exported data is right,
but the target table for INSERT and CREATE TABLE is wrong.

---------------------------------------
-- Sample data to reproduce the bug: --
---------------------------------------

--
-- Structure de la table `header1`
--

CREATE TABLE `header1` (
  `id_header1` int(11) NOT NULL default '0',
  `label` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id_header1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `header1`
--

INSERT INTO `header1` VALUES (1, 'Chapter 1');
INSERT INTO `header1` VALUES (2, 'Chapter 2');
INSERT INTO `header1` VALUES (3, 'Chapter 3');

--
-- Structure de la table `header2`
--

CREATE TABLE `header2` (
  `id_header2` int(11) NOT NULL auto_increment,
  `id_header1` int(11) NOT NULL default '0',
  `label` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id_header2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `header2`
--

INSERT INTO `header2` VALUES (1, 1, 'Item 1.1');
INSERT INTO `header2` VALUES (2, 1, 'Item 1.2');
INSERT INTO `header2` VALUES (3, 2, 'Item 2.1');
INSERT INTO `header2` VALUES (4, 2, 'Item 2.2');
INSERT INTO `header2` VALUES (5, 2, 'Item 2.3');
INSERT INTO `header2` VALUES (6, 3, 'Item 3.1');
INSERT INTO `header2` VALUES (7, 3, 'Item 3.2');

---------------
-- SQL query --
---------------

SELECT label
FROM header2 h2
WHERE h2.id_header1 = (
SELECT h1.id_header1
FROM header1 h1
WHERE h1.label = 'Chapter 2' );

-----------------------------------------
-- SQL export result (header stripped) --
-----------------------------------------

--
-- Structure de la table `header1`
--

CREATE TABLE `header1` (
  `id_header1` int(11) NOT NULL default '0',
  `label` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id_header1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `header1`
--

INSERT INTO `header1` (`id_header1`, `label`) VALUES (2, 'Item 2.1');
INSERT INTO `header1` (`id_header1`, `label`) VALUES (2, 'Item 2.2');
INSERT INTO `header1` (`id_header1`, `label`) VALUES (2, 'Item 2.3');

---------------------
-- Expected result --
---------------------

--
-- Structure de la table `header2`
--

CREATE TABLE `header2` (
  `id_header2` int(11) NOT NULL auto_increment,
  `id_header1` int(11) NOT NULL default '0',
  `label` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id_header2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `header2`
--

INSERT INTO `header2` (`id_header1`, `label`) VALUES (2, 'Item 2.1');
INSERT INTO `header2` (`id_header1`, `label`) VALUES (2, 'Item 2.2');
INSERT INTO `header2` (`id_header1`, `label`) VALUES (2, 'Item 2.3');

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-386
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages phpmyadmin depends on:
ii  apache2-mpm-prefork [httpd]  2.0.54-5    traditional model for Apache2
ii  debconf                      1.4.30.13   Debian configuration management sy
ii  php4                         4:4.3.10-16 server-side, HTML-embedded scripti
ii  php4-mysql                   4:4.3.10-16 MySQL module for php4
ii  ucf                          1.17        Update Configuration File: preserv

-- debconf information:
* phpmyadmin/reconfigure-webserver: apache2
* phpmyadmin/restart-webserver: true

Reply via email to