Cita:  
					Iniciado por josueruiz91  
  Intenté hacerlo a través de un procedimiento almacenado. Nunca había trabajado con algunos. Puedes decirme donde tengo el error? Asi tal cual no me funciona
 
DROP PROCEDURE IF EXISTS sp_autoincremento; 
//
   CREATE PROCEDURE   sp_autoincremento()
   BEGIN
      if(exists(select libro,folio,boleta from biblioteca)) them
		if(exists(select boleta from bautizo where mod(boleta,2)=0)) them
			update bautizo set folio=folio+1;
		if(exists(select boleta from bautizo where boleta=6)) them
			update bautizo set boleta=1,folio=1,libro=libro+1;
		else
			update bautizo set boleta=boleta+1;
		endif;
	  else
		insert into bautizo(libro,folio,boleta) values(1,1,1);
	  endif;
   END
//
    Tienes más de un error, además de que estás planteando una solución sin analizarla previamente, lo que sólo te llevará a complicaciones.
1) No es THEM ("ellos"), sino THEN ("entonces").
2) No es ENDIF, sino END IF.
3) Tienes un IF sin cerrar al final.
4) No debes actualizar numeraciones, sino insertar registros nuevos. Esto me lleva a pensar que no está correctamente diseñado el modelo de datos. 
Lo primero sería tratar de crear el algorimo que debería cumplirlo que quieres. Y eso se hace simplemente razonando lo que describes.
Debes:
1) Validar si existe el Libro (por consecuencia el prototipo del SP debería recibir al menos UN parámetro).
2) Si existe el libro: Validar cuál es el máximo de Boleta y del Folio para ese Libro.
2.3. Si Boleta < 3
2.3.1. Si Folio < 9 y es múltiplo de 3, sumar 1 a Boleta.
2.3.2. Sumar 1 a Folio.
3) Si no existe el Libro:
3.1. Dar de alta el Libro, la Boleta 1 y el Folio 1. 
Un bosquejo de la idea, suponiendo que existen tres tablas (Libro, Biblioteca y Folio) sería mas o menos:   
Código MySQL:
Ver original- DELIMITER $$ 
-   
- /* 
- 1) Validar si existe el Libro (por consecuencia el prototipo del SP debería recibir al menos UN parámetro). 
- 2) Si existe el libro: Validar cuál es el máximo de Boleta y del Folio para ese Libro. 
- 2.3. Si Boleta < 3 
- 2.3.1. Si Folio < 9 y es múltiplo de 3, sumar 1 a Boleta. 
- 2.3.2. Sumar 1 a Folio. 
- 3) Si no existe el Libro: 
- 3.1. Dar de alta el Libro, la Boleta 1 y el Folio 1. 
-   
- */ 
-   
-   
-   
-   
-         WHERE-  libro  =-  v_libro  AND-  boleta  =-  v_boleta 
 
-                 SET-  v_boleta  =-  v_boleta  + 1;
 
-             SET-  v_folio  =-  v_folio  + 1;
 
-                 SET-  v_libro  =-  v_libro  + 1;
 
-                 SET-  v_libro  =-  v_libro  + 1;
 
-                 SET-  v_boleta  =-  v_boleta  + 1;
 
-                 SET-  v_folio  =-  v_folio  + 1;
 
-      
-             SET-  v_libro  =-  v_libro  + 1;
 
-   
Esto es nada más que una aproximación, a la que hay que probar. La estoy bosquejando a vuelo de pájaro, por lo que peude tener errores.