See Also commit, rollback, transaction, XA. 

## U 

## undo 

 Data that is maintained throughout the life of a transaction , recording all changes so that they can be undone in case of a rollback  operation. It is stored in undo logs  either within the system tablespace  (in MySQL 5.7 or earlier) or in separate undo tablespaces . As of MySQL 8.0, undo logs reside in undo tablespaces by default. See Also rollback, rollback segment, system tablespace, transaction, undo log, undo tablespace. 

## undo buffer 

See undo log. 

## undo log 

 A storage area that holds copies of data modified by active transactions . If another transaction needs to see the original data (as part of a consistent read  operation), the unmodified data is retrieved from this storage area. 

In MySQL 5.6 and MySQL 5.7, you can use the innodb_undo_tablespaces  variable have undo logs reside in undo tablespaces , which can be placed on another storage device such as an SSD . In MySQL 8.0, undo logs reside in two default undo tablespaces that are created when MySQL is initialized, and additional undo tablespaces can be created using CREATE UNDO TABLESPACE  syntax. 

The undo log is split into separate portions, the insert undo buffer  and the update undo buffer . See Also consistent read, rollback segment, SSD, system tablespace, transaction, undo tablespace. 

## undo log segment 

 A collection of undo logs . Undo log segments exists within rollback segments . An undo log segment might contain undo logs from multiple transactions. An undo log segment can only be used by one transaction at a time but can be reused after it is released at transaction commit  or rollback . May also be referred to as an “undo segment” . 

See Also commit, rollback, rollback segment, undo log. 

## undo tablespace 

 An undo tablespace contains undo logs . Undo logs exist within undo log segments , which are contained within rollback segments . Rollback segments have traditionally resided in the system tablespace. As of MySQL 5.6, rollback segments can reside in undo tablespaces. In MySQL 5.6 and MySQL 5.7, the number of undo tablespaces is controlled by the innodb_undo_tablespaces  configuration option. In MySQL 8.0, two default undo tablespaces are created when the MySQL instance is initialized, and additional undo tablespaces can be created using CREATE UNDO TABLESPACE  syntax. 

For more information, see Section 15.6.3.4, “Undo Tablespaces” . See Also rollback segment, system tablespace, undo log, undo log segment. 

## Unicode 

 A system for supporting national characters, character sets, code pages, and other internationalization aspects in a flexible and standardized way. 

Unicode support is an important aspect of the ODBC  standard. Connector/ODBC 5.1 is a Unicode driver, as opposed to Connector/ODBC 3.51, which is an ANSI  driver. See Also ANSI, Connector/ODBC, ODBC. 

## unique constraint 

 A kind of constraint  that asserts that a column cannot contain any duplicate values. In terms of relational algebra, it is used to specify 1-to-1 relationships. For efficiency in checking whether a value can be inserted (that 

