Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/01/2011, 12:22
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Auto_increment se salta id's

Mira esta secuencia.

Código MySQL:
Ver original
  1. mysql> CREATE TABLE `nombres` (
  2.     ->  `id` int(11) NOT NULL AUTO_INCREMENT,
  3.     ->  `nombres` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
  4.     ->  `apellidos` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
  5.     ->  PRIMARY KEY (`id`)
  6.     -> ) ENGINE=InnoDB;
  7. Query OK, 0 rows affected (0.01 sec)
  8.  
  9. mysql> CREATE TABLE `respaldo_nombres` (
  10.     ->  `id` INT(11) NOT NULL,
  11.     ->  `nombresAntiguos` VARCHAR(20) DEFAULT NULL,
  12.     ->  `nombresNuevos` VARCHAR(20) DEFAULT NULL,
  13.     ->  `apellidosAntiguos` VARCHAR(20) DEFAULT NULL,
  14.     ->  `apellidosNuevos` VARCHAR(20) DEFAULT NULL,
  15.     ->  PRIMARY KEY (`id`)
  16.     -> ) ENGINE=INNODB;
  17. Query OK, 0 rows affected (0.02 sec)
  18.  
  19. mysql> delimiter $$
  20. mysql> CREATE TRIGGER `respaldo_nombres` AFTER UPDATE ON `nombres`
  21.     ->  FOR EACH ROW begin
  22.     -> INSERT INTO `respaldo_nombres` SET
  23.     -> respaldo_nombres.id=old.id,
  24.     -> respaldo_nombres.NombresAntiguos=old.nombres,
  25.     -> respaldo_nombres.NombresNuevos=new.nombres,
  26.     -> respaldo_nombres.apellidosAntiguos=old.apellidos,
  27.     -> respaldo_nombres.apellidosNuevos=new.apellidos
  28.     -> respaldo_nombres.NombresAntiguos=old.nombres,
  29.     -> respaldo_nombres.NombresNuevos=new.nombres,
  30.     -> respaldo_nombres.apellidosAntiguos=old.apellidos,
  31.     -> respaldo_nombres.apellidosNuevos=new.apellidos;
  32.     -> end$$
  33. Query OK, 0 rows affected (0.01 sec)
  34.  
  35. mysql> delimiter ;
  36. mysql> INSERT INTO nombres(nombres,apellidos) VALUES ('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','
  37. fg'),('asdifh','sdffg'),('asdifh','sdffg');
  38. Query OK, 10 rows affected (0.00 sec)
  39. Records: 10  Duplicates: 0  Warnings: 0
  40.  
  41. mysql> INSERT INTO nombres(nombres,apellidos) VALUES ('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','
  42. fg'),('asdifh','sdffg'),('asdifh','sdffg');
  43. Query OK, 10 rows affected (0.00 sec)
  44. Records: 10  Duplicates: 0  Warnings: 0
  45.  
  46. mysql> select *from nombres;
  47. +----+---------+-----------+
  48. | id | nombres | apellidos |
  49. +----+---------+-----------+
  50. |  1 | asdifh  | sdffg     |
  51. |  2 | asdifh  | sdffg     |
  52. |  3 | asdifh  | sdffg     |
  53. |  4 | asdifh  | sdffg     |
  54. |  5 | asdifh  | sdffg     |
  55. |  6 | asdifh  | sdffg     |
  56. |  7 | asdifh  | sdffg     |
  57. |  8 | asdifh  | sdffg     |
  58. |  9 | asdifh  | sdffg     |
  59. | 10 | asdifh  | sdffg     |
  60. | 11 | asdifh  | sdffg     |
  61. | 12 | asdifh  | sdffg     |
  62. | 13 | asdifh  | sdffg     |
  63. | 14 | asdifh  | sdffg     |
  64. | 15 | asdifh  | sdffg     |
  65. | 16 | asdifh  | sdffg     |
  66. | 17 | asdifh  | sdffg     |
  67. | 18 | asdifh  | sdffg     |
  68. | 19 | asdifh  | sdffg     |
  69. | 20 | asdifh  | sdffg     |
  70. +----+---------+-----------+
  71. 20 rows in set (0.00 sec)
  72.  
  73. mysql> update nombres set apellidos='otra cosa' where id=10;
  74. Query OK, 1 row affected (0.00 sec)
  75. Rows matched: 1  Changed: 1  Warnings: 0
  76.  
  77. mysql> select *from nombres;
  78. +----+---------+-----------+
  79. | id | nombres | apellidos |
  80. +----+---------+-----------+
  81. |  1 | asdifh  | sdffg     |
  82. |  2 | asdifh  | sdffg     |
  83. |  3 | asdifh  | sdffg     |
  84. |  4 | asdifh  | sdffg     |
  85. |  5 | asdifh  | sdffg     |
  86. |  6 | asdifh  | sdffg     |
  87. |  7 | asdifh  | sdffg     |
  88. |  8 | asdifh  | sdffg     |
  89. |  9 | asdifh  | sdffg     |
  90. | 10 | asdifh  | otra cosa |
  91. | 11 | asdifh  | sdffg     |
  92. | 12 | asdifh  | sdffg     |
  93. | 13 | asdifh  | sdffg     |
  94. | 14 | asdifh  | sdffg     |
  95. | 15 | asdifh  | sdffg     |
  96. | 16 | asdifh  | sdffg     |
  97. | 17 | asdifh  | sdffg     |
  98. | 18 | asdifh  | sdffg     |
  99. | 19 | asdifh  | sdffg     |
  100. | 20 | asdifh  | sdffg     |
  101. +----+---------+-----------+
  102. 20 rows in set (0.00 sec)
  103.  
  104. mysql> INSERT INTO nombres(nombres,apellidos) VALUES ('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','sdffg'),('asdifh','
  105. fg'),('asdifh','sdffg'),('asdifh','sdffg');
  106. Query OK, 10 rows affected (0.00 sec)
  107. Records: 10  Duplicates: 0  Warnings: 0
  108.  
  109. mysql> select *from nombres;
  110. +----+---------+-----------+
  111. | id | nombres | apellidos |
  112. +----+---------+-----------+
  113. |  1 | asdifh  | sdffg     |
  114. |  2 | asdifh  | sdffg     |
  115. |  3 | asdifh  | sdffg     |
  116. |  4 | asdifh  | sdffg     |
  117. |  5 | asdifh  | sdffg     |
  118. |  6 | asdifh  | sdffg     |
  119. |  7 | asdifh  | sdffg     |
  120. |  8 | asdifh  | sdffg     |
  121. |  9 | asdifh  | sdffg     |
  122. | 10 | asdifh  | otra cosa |
  123. | 11 | asdifh  | sdffg     |
  124. | 12 | asdifh  | sdffg     |
  125. | 13 | asdifh  | sdffg     |
  126. | 14 | asdifh  | sdffg     |
  127. | 15 | asdifh  | sdffg     |
  128. | 16 | asdifh  | sdffg     |
  129. | 17 | asdifh  | sdffg     |
  130. | 18 | asdifh  | sdffg     |
  131. | 19 | asdifh  | sdffg     |
  132. | 20 | asdifh  | sdffg     |
  133. | 21 | asdifh  | sdffg     |
  134. | 22 | asdifh  | sdffg     |
  135. | 23 | asdifh  | sdffg     |
  136. | 24 | asdifh  | sdffg     |
  137. | 25 | asdifh  | sdffg     |
  138. | 26 | asdifh  | sdffg     |
  139. | 27 | asdifh  | sdffg     |
  140. | 28 | asdifh  | sdffg     |
  141. | 29 | asdifh  | sdffg     |
  142. | 30 | asdifh  | sdffg     |
  143. +----+---------+-----------+
  144. 30 rows in set (0.00 sec)
  145.  
  146. mysql>

A mi no me pasa esto que dices.... debes tener otro objeto que te genere este problema.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming