mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	myisam/mi_write.c: bug fixed mysql-test/t/insert_select.test: test case added mysql-test/r/insert_select.result: test case added
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Problem with INSERT ... SELECT
 | |
| #
 | |
| 
 | |
| drop table if exists t1,t2;
 | |
| create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
 | |
| insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
 | |
| create table t2 (payoutID SMALLINT UNSIGNED NOT NULL PRIMARY KEY);
 | |
| insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1;
 | |
| insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
 | |
| select * from t2;
 | |
| drop table t1,t2;
 | |
| #
 | |
| # bug in bulk insert optimization
 | |
| # test case by Fournier Jocelyn <joc@presence-pc.com>
 | |
| #
 | |
| 
 | |
| DROP TABLE IF EXISTS crash1,crash2;
 | |
| CREATE TABLE `crash1` (
 | |
|   `numeropost` bigint(20) unsigned NOT NULL default '0',
 | |
|   `icone` tinyint(4) unsigned NOT NULL default '0',
 | |
|   `numreponse` bigint(20) unsigned NOT NULL auto_increment,
 | |
|   `contenu` text NOT NULL,
 | |
|   `pseudo` varchar(50) NOT NULL default '',
 | |
|   `date` datetime NOT NULL default '0000-00-00 00:00:00',
 | |
|   `ip` bigint(11) NOT NULL default '0',
 | |
|   `signature` tinyint(1) unsigned NOT NULL default '0',
 | |
|   PRIMARY KEY  (`numeropost`,`numreponse`)
 | |
|   ,KEY `ip` (`ip`),
 | |
|   KEY `date` (`date`),
 | |
|   KEY `pseudo` (`pseudo`),
 | |
|   KEY `numreponse` (`numreponse`)
 | |
| ) TYPE=MyISAM;
 | |
| 
 | |
| CREATE TABLE `crash2` (
 | |
|   `numeropost` bigint(20) unsigned NOT NULL default '0',
 | |
|   `icone` tinyint(4) unsigned NOT NULL default '0',
 | |
|   `numreponse` bigint(20) unsigned NOT NULL auto_increment,
 | |
|   `contenu` text NOT NULL,
 | |
|   `pseudo` varchar(50) NOT NULL default '',
 | |
|   `date` datetime NOT NULL default '0000-00-00 00:00:00',
 | |
|   `ip` bigint(11) NOT NULL default '0',
 | |
|   `signature` tinyint(1) unsigned NOT NULL default '0',
 | |
|   PRIMARY KEY  (`numeropost`,`numreponse`),
 | |
|   KEY `ip` (`ip`),
 | |
|   KEY `date` (`date`),
 | |
|   KEY `pseudo` (`pseudo`),
 | |
|   KEY `numreponse` (`numreponse`)
 | |
| ) TYPE=MyISAM;
 | |
| 
 | |
| INSERT INTO crash2
 | |
| (numeropost,icone,numreponse,contenu,pseudo,date,ip,signature) VALUES
 | |
| (9,1,56,'test','joce','2001-07-25 13:50:53'
 | |
| ,3649052399,0);
 | |
| 
 | |
| 
 | |
| INSERT INTO crash1 (numeropost,icone,contenu,pseudo,date,signature,ip)
 | |
| SELECT 1618,icone,contenu,pseudo,date,signature,ip FROM crash2
 | |
| WHERE numeropost=9 ORDER BY numreponse ASC;
 | |
| 
 | |
| show variables like '%bulk%';
 | |
| 
 | |
| INSERT INTO crash1 (numeropost,icone,contenu,pseudo,date,signature,ip)
 | |
| SELECT 1718,icone,contenu,pseudo,date,signature,ip FROM crash2
 | |
| WHERE numeropost=9 ORDER BY numreponse ASC;
 | |
| 
 | |
| DROP TABLE IF EXISTS crash1,crash2;
 | |
| 
 |