MySQL的主键命名挺任性,就这么定了

最近在梳理数据生命周期管理的细节时,发现了一个小问题,那就是MySQL的主键命名策略,似乎会忽略任何形式的自定义命名。也就意味着你给主键命名为idx_pk_id这种形式,在MySQL里面会统一按照PRIMARY来处理。当然我们可以在这个基础之上做一些拓展和补充。首先来复现下问题,我们连接到数据库test,然后创建表test_data2.mysqlusetestmysqlcreatetabletest_data2(idint,namevarchar(30));QueryOK,0rowsaffected(0.05sec)接着创建一个主键,命名为idx_pk_id,从执行情况来看,MySQL是正常处理了。mysqlaltertabletest_data2addprimarykeyidx_pk_id(id);QueryOK,0rowsaffected(0.02sec)Records:0Duplicates:0Warnings:0为了进一步对比,我们添加一个唯一性索引(辅助索引),来看看它们的差异。mysqlaltertabletest_data2adduniquekeyidx_uniq_name(name);QueryOK,0rowsaffected(0.00sec)Records:0Duplicates:0Warnings:0查看主键命名方法1:使用showindexes命令要查看MySQL索引的信息,使用showindexesfromtest_data2就可以。mysqlshowindexesfromtest_data2\G***************************1.row***************************Table:test_data2Non_unique:0Key_name:PRIMARYSeq_in_index:1Column_name:idCollation:ACardinality:0Sub_part:NULLPacked:NULLNull:Index_type:BTREEComment:Index_


转载请注明:http://www.aierlanlan.com/tzrz/8283.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了