MySQL 4.0 soporta cinco tipos de tablas: MyISAM, ISAM, HEAP, BDB (Base de datos Berkeley), e InnoDB. BDB e InnoDB son ambas tipos de tablas transaccionales. Adem�s de poder trabajar con transacciones en MySQL, las tablas del tipo InnoDB tambi�n tienen soporte para la definici�n de claves for�neas, por lo que se nos permite definir reglas o restricciones que garanticen la integridad referencial de los registros.
A partir de la versi�n 4.0, MySQL ha agregado InnoDB a la lista de tipos de tablas soportados en una instalaci�n t�pica. En este art�culo se asume que se cuenta ya con un servidor MySQL con soporte para el tipo de tablas InnoDB. En nuestro caso haremos uso de un servidor MySQL 4.013 ejecut�ndose en un sistema MSWindows.
Nota: para asegurarnos que tenemos soporte para el tipo de tablas InnoDB podemos ejecutar la siguiente sentencia:
mysql> SHOW VARIABLES LIKE '%innodb%'; +---------------------------------+------------------------+ | Variable_name | Value | +---------------------------------+------------------------+ | have_innodb | YES | | innodb_additional_mem_pool_size | 1048576 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_file_io_threads | 4 | | innodb_force_recovery | 0 | | innodb_thread_concurrency | 8 | | innodb_flush_log_at_trx_commit | 1 | | innodb_fast_shutdown | ON | | innodb_flush_method | | | innodb_lock_wait_timeout | 50 | | innodb_log_arch_dir | . | | innodb_log_archive | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | . | | innodb_mirrored_log_groups | 1 | | innodb_max_dirty_pages_pct | 90 | +---------------------------------+------------------------+ 20 rows in set (0.00 sec)
La variable m�s importante es por supuesto have_innodb que tiene el valor YES.