drop table if exists t1; CREATE TABLE t1 ( ChargeID int(10) unsigned NOT NULL auto_increment, ServiceID int(10) unsigned DEFAULT '0' NOT NULL, ChargeDate date DEFAULT '0000-00-00' NOT NULL, ChargeAmount decimal(20,2) DEFAULT '0.00' NOT NULL, FedTaxes decimal(20,2) DEFAULT '0.00' NOT NULL, ProvTaxes decimal(20,2) DEFAULT '0.00' NOT NULL, ChargeStatus enum('New','Auth','Unauth','Sale','Denied','Refund') DEFAULT 'New' NOT NULL, ChargeAuthorizationMessage text, ChargeComment text, ChargeTimeStamp varchar(20), PRIMARY KEY (ChargeID), KEY ServiceID (ServiceID), KEY ChargeDate (ChargeDate) ) engine=BDB; BEGIN; INSERT INTO t1 VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now'); COMMIT; BEGIN; UPDATE t1 SET ChargeAuthorizationMessage = 'blablabla' WHERE ChargeID = 1; COMMIT; INSERT INTO t1 VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now'); select * from t1; ChargeID ServiceID ChargeDate ChargeAmount FedTaxes ProvTaxes ChargeStatus ChargeAuthorizationMessage ChargeComment ChargeTimeStamp 1 1 2001-03-01 1.00 1.00 1.00 New blablabla NULL now 2 1 2001-03-01 1.00 1.00 1.00 New NULL NULL now drop table t1; create table t1 (a int) engine=bdb; set autocommit=0; insert into t1 values(1); analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status Operation need committed state drop table t1;