CREATE TABLE IF NOT EXISTS person1 (
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (id)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS person2 (
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
INSERT INTO person1 (NAME, sex) VALUES('张映', 0);
INSERT INTO person2 (NAME, sex) VALUES('tank', 1);
-- 1、备份原始的表
-- 2、创建新表
-- 3、把原始表的数据导入到分表中
-- RENAME TABLE person TO person_bak,members_tmp TO members;
-- INSERT INTO person1(person1.id,person1.name,person1.sex) SELECT (person.id,person.name,person.sex)FROM person where person.id <= 10000
-- INSERT INTO person2(person2.id,person2.name,person2.sex) SELECT (person.id,person.name,person.sex)FROM person where person.id > 10000
CREATE TABLE IF NOT EXISTS allperson (
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
INDEX(id)
) ENGINE=MERGE UNION=(person1,person2) INSERT_METHOD=LAST AUTO_INCREMENT=1 ;
SELECT id,NAME,sex FROM allperson;
INSERT INTO allperson (NAME, sex) VALUES('tank2', 0);
UPDATE allperson SET sex = 0 WHERE id = 1;
SELECT id,NAME,sex FROM person2
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (id)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS person2 (
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
INSERT INTO person1 (NAME, sex) VALUES('张映', 0);
INSERT INTO person2 (NAME, sex) VALUES('tank', 1);
-- 1、备份原始的表
-- 2、创建新表
-- 3、把原始表的数据导入到分表中
-- RENAME TABLE person TO person_bak,members_tmp TO members;
-- INSERT INTO person1(person1.id,person1.name,person1.sex) SELECT (person.id,person.name,person.sex)FROM person where person.id <= 10000
-- INSERT INTO person2(person2.id,person2.name,person2.sex) SELECT (person.id,person.name,person.sex)FROM person where person.id > 10000
CREATE TABLE IF NOT EXISTS allperson (
id INT(11) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) DEFAULT NULL,
sex INT(1) NOT NULL DEFAULT '0',
INDEX(id)
) ENGINE=MERGE UNION=(person1,person2) INSERT_METHOD=LAST AUTO_INCREMENT=1 ;
SELECT id,NAME,sex FROM allperson;
INSERT INTO allperson (NAME, sex) VALUES('tank2', 0);
UPDATE allperson SET sex = 0 WHERE id = 1;
SELECT id,NAME,sex FROM person2