InnoDB memcached Plugin Internals Column Description a secondary index. Preferably, use the primary key of the  InnoDB  table. Using the primary key avoids a lookup that is performed when using a secondary index. You cannot make a covering index for  memcached  lookups;  InnoDB  returns an error if you try to define a composite secondary index over both the key and value columns. containers Table Column Constraints •You must supply a value for  db_schema ,  db_name ,  key_columns ,  value_columns  and unique_idx_name_on_key . Specify  0  for  flags ,  cas_column , and  expire_time_column  if they are unused. Failing to do so could cause your setup to fail. • key_columns : The maximum limit for a  memcached  key is 250 characters, which is enforced by memcached . The mapped key must be a non-Null  CHAR  or  VARCHAR  type. • value_columns : Must be mapped to a  CHAR ,  VARCHAR , or  BLOB  column. There is no length restriction and the value can be NULL. • cas_column : The  cas  value is a 64 bit integer. It must be mapped to a  BIGINT  of at least 8 bytes. If you do not use this column, set a value of  0  to indicate that it is unused. • expiration_time_column : Must mapped to an  INTEGER  of at least 4 bytes. Expiration time is defined as a 32-bit integer for Unix time (the number of seconds since January 1, 1970, as a 32-bit value), or the number of seconds starting from the current time. For the latter, the number of seconds may not exceed 60*60*24*30 (the number of seconds in 30 days). If the number sent by a client is larger, the server considers it to be a real Unix time value rather than an offset from the current time. If you do not use this column, set a value of  0  to indicate that it is unused. • flags : Must be mapped to an  INTEGER  of at least 32-bits and can be NULL. If you do not use this column, set a value of  0  to indicate that it is unused. •During plugin initialization, when  InnoDB memcached  is configured with information defined in the containers  table, each mapped column defined in  containers.value_columns  is verified against the mapped  InnoDB  table. If multiple  InnoDB  table columns are mapped, there is a check to ensure that each column exists and is the right type. •At run-time, for  memcached  insert operations, if there are more delimited values than the number of mapped columns, only the number of mapped values are taken. For example, if there are six mapped columns, and seven delimited values are provided, only the first six delimited values are taken. The seventh delimited value is ignored. •If there are fewer delimited values than mapped columns, unfilled columns are set to NULL. If an unfilled column cannot be set to NULL, insert operations fail. •If a table has more columns than mapped values, the extra columns do not affect results. 3387 The  innodb_memcached_config.sql  configuration script creates a  demo_test  table in the  test database, which can be used to verify  InnoDB memcached  plugin installation immediately after setup. The demo_test Example Table Multiple Value Column Mapping A pre-check is performed at plugin load time to enforce column constraints. If mismatches are found, the plugin is not loaded.