summaryrefslogtreecommitdiff
path: root/mysql-test/t/insert_select.test
blob: 42f65858d77a1c5618f510166122fc65c69f1817 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#
# 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;
--error 1062
insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
insert ignore 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;