建立索引遇到了问题

justinlife 2016-12-12 09:02:03
mysql> create unique index idx_part_name_len
-> on part(length(name));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'name)
)' at line 2


RT
本意是建立一个由表part中name的长度的索引
请问是什么情况?该如何解决?
...全文
362 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
justinlife 2016-12-19
  • 打赏
  • 举报
回复
引用 2 楼 yupeigu 的回复:
mysql 不支持在创建索引时用函数,所以没办法计算name列有多少,把这个长度来建立索引。 不知道你用的是是什么版本,最新的mysql5.7支持计算列,也就是新增一列 length(name) 然后就用这一列来做索引是可以的 可以参考这个: Mysql 5.7 的‘虚拟列’是做什么? http://blog.csdn.net/wfg18801733667/article/details/52217634
原来如此,受教了!
卖水果的net 2016-12-13
  • 打赏
  • 举报
回复
楼主可以使用一个计算列,然后在计算列上建立索引。
LongRui888 2016-12-13
  • 打赏
  • 举报
回复
mysql 不支持在创建索引时用函数,所以没办法计算name列有多少,把这个长度来建立索引。 不知道你用的是是什么版本,最新的mysql5.7支持计算列,也就是新增一列 length(name) 然后就用这一列来做索引是可以的 可以参考这个: Mysql 5.7 的‘虚拟列’是做什么? http://blog.csdn.net/wfg18801733667/article/details/52217634

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧