我们可以将主键作为列或列集的函数

时间:2012-11-15 18:27:31

标签: mysql percona

我正在尝试定义一个表,我想要定义主键具有反向列。我想知道它是否可能在innodb?

我正在创建一个表

create table abc 
(
  `id` varchar(255) PRIMARY KEY , 
  `key` LONGTEXT NOT NULL,
  `value` LONGTEXT  NOT NULL ,
  `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `created_on` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) 

但我希望PRIMARY KEY (reverse(id))

1 个答案:

答案 0 :(得分:0)

MySQL根本不支持函数索引。所以很明显它不能用于主键。

MySQL也不支持物化视图和视图索引。 1

根据您要完成的工作,您很可能只是反过来存储您的密钥。如果您的应用程序依赖于反转存储的内容,请为应用程序创建一个视图以进行交互。不幸的是,更新将很困难,因为MySQL doesn't do INSTEAD OF triggerstriggers on views at all