试图找到一种方法来添加列后缀的方法我无法找到解决方案。
我找到的部分索引的唯一内容是索引前缀:
CREATE INDEX part_of_name ON customer (name(10));
来自12.1.13. CREATE INDEX Syntax
我也尝试过其他类似的东西:
CREATE INDEX part_of_name ON customer (name(-10));
CREATE INDEX part_of_name ON customer (RIGHT(name,10));
CREATE INDEX part_of_name ON customer (SUBSTRING(name,-10));
ALL有相同的错误:
ERROR 1064 (42000): You have an error in your SQL syntax;
我希望你的帮助! 提前谢谢!
答案 0 :(得分:1)
MySQL不支持任意表达式的索引。前缀索引只是一个怪癖,因为它是" free"在B-Tree索引的典型实现中。
您需要向表中添加另一列,使用触发器填充它,并在其上添加索引。