当从备份恢复数据时,自动增量主字段会发生什么

时间:2012-04-30 06:18:09

标签: mysql

我的MySQL表格如下:

userid(AI,PRIMARY)    name    password
1                     aa       dfsdfsdfds
2                     ioi      kjkjkjkjk
(3) user deleted his account
4                     ghghj    jhjhkhj

还有另一张信息表

userid( will be userid from above table)    address    phone
1                                            sfdsfds   9999999
2                                            dfsdfdsf   333333
3 (deleted)
4                                            sdfdsf     999999

当我将备份和恢复数据时,表1的表格数据将会发生什么?

1 个答案:

答案 0 :(得分:5)

导出数据时(即使用mysqldump),所有密钥(及其值)都按原样导出。备份基本上如下所示:

CREATE TABLE yourtable (
    userid INT(10) unsigned NOT NULL auto_increment,
    name VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    PRIMARY KEY (userid)
) AUTO_INCREMENT=5;
INSERT INTO TABLE yourtable ( userid, name, password )
VALUES 
(1, 'aa', 'dfsdfsdfds'),
(2, 'ioi', 'kjkjkjkjk'),
(4, 'ghghj', 'jhjhkhj')

正如您在示例中看到的那样:

  • 您的密钥正在完全备份和恢复
  • MySQL会记住上一个自动增量值,并在下一个INSERT上返回该值。 (下一个用户将获得id 5