0

主キーを定義したいテーブルを定義しようとしていますが、列が逆になっています。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))

4

1 に答える 1

0

MySQL は関数のインデックスをまったくサポートしていません。したがって、それらを主キーとして使用できないことは明らかです。

また、MySQL はマテリアライズド ビューやビューのインデックスもサポートしていません。1

達成しようとしていることに応じて、ほとんどの場合、キーを逆に保存する必要があります。アプリケーションが、格納されているものを逆にすることに依存している場合は、アプリケーションが対話するためのビューを作成します。残念ながら、 MySQL は INSTEAD OF トリガーやビューのトリガーをまったく実行しないため、更新は困難です。

于 2012-11-15T18:34:47.987 に答える