V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
PeiXyJ
V2EX  ›  MySQL

大佬们你们 Mysql 的数据库名称怎么分割的?

  •  
  •   PeiXyJ · 14 小时 59 分钟前 · 1280 次点击

    我公司数据库名称采用的是 小写 + 下划线 + 小写 例如 pj0001_prod,但是同事提出了异议说在某些软件使用下划线会出现异常(问了他什么软件又不说).

    25 条回复    2024-12-13 21:59:54 +08:00
    wps353
        1
    wps353  
       14 小时 58 分钟前   ❤️ 2
    下划线一般不会有问题,中横线倒是有问题
    ResponseBody
        2
    ResponseBody  
       14 小时 51 分钟前 via iPhone   ❤️ 10
    回复他

    “在你写的软件里会出现异常是吗😏”
    superrichman
        3
    superrichman  
       14 小时 48 分钟前   ❤️ 4
    下划线都有问题。。。这同事新来的吧

    但凡看一眼 mysql 自带的`mysql`库的结构都不会这么说,表设计完全可以参考它
    Ayanokouji
        4
    Ayanokouji  
       14 小时 47 分钟前   ❤️ 1
    他菜,一楼说的对,中划线有问题
    lucasdev
        5
    lucasdev  
       14 小时 34 分钟前   ❤️ 2
    一楼说的对,下划线放心用,怎么可能有问题: https://dev.mysql.com/doc/refman/8.4/en/identifiers.html
    impanghu
        6
    impanghu  
       14 小时 34 分钟前
    用的 SQLSERVER ,驼峰
    tairan2006
        7
    tairan2006  
       14 小时 30 分钟前   ❤️ 2
    下划线没有任何问题
    shadowyue
        8
    shadowyue  
       14 小时 28 分钟前
    @ResponseBody 就喜欢你这种说话好听的同事
    RyougiShiki
        9
    RyougiShiki  
       14 小时 27 分钟前
    可以参考 django 框架的习惯,模块名_表名,小写, 下划线没有问题。
    gerefoxing
        10
    gerefoxing  
       14 小时 2 分钟前   ❤️ 2
    下滑线不会有问题,反而-这种才不建议
    huzhizhao
        11
    huzhizhao  
       13 小时 56 分钟前
    他写的软件可能有问题
    Akikiki
        12
    Akikiki  
       13 小时 51 分钟前
    开发环境如果域名里写 下划线 倒是会有问题
    gam2046
        13
    gam2046  
       13 小时 50 分钟前   ❤️ 1
    唔,假设说,不用下划线的话,那么用什么呢?
    空格?中划线?还是$#@%这种异教?

    看来看去,还是只有下划线这一种
    IvanLi127
        14
    IvanLi127  
       13 小时 7 分钟前
    绝了,下划线有问题的话我用过的 ORM 全部完蛋。话说除了下划线还有啥常见的分法
    lance07
        15
    lance07  
       12 小时 59 分钟前
    听他的, 问问他想怎么分割
    kk2syc
        16
    kk2syc  
       12 小时 36 分钟前   ❤️ 1
    下划线是大部分情况下最稳妥的方案。
    用驼峰会有个问题就是`lower_case_table_names`参数,当值设为 1 时,MySQL 将忽略表名和数据库名的大小写。
    fgwmlhdkkkw
        17
    fgwmlhdkkkw  
       12 小时 32 分钟前   ❤️ 1
    打一架!打一架!打一架!打一架!打一架!😡
    poltao
        18
    poltao  
       12 小时 25 分钟前
    这都能成为问题,看来你们公司挺闲的
    xiangyuecn
        19
    xiangyuecn  
       12 小时 23 分钟前
    那就采用中文命名,打架都省了
    PeiXyJ
        20
    PeiXyJ  
    OP
       11 小时 32 分钟前
    @poltao 哈哈哈也没有,主要现在服务器要迁库...所以我们就又讨论了一下...
    PeiXyJ
        21
    PeiXyJ  
    OP
       11 小时 32 分钟前
    @xiangyuecn 直接打群架是吧
    wyx119911
        22
    wyx119911  
       11 小时 6 分钟前
    通配符 _ 在 MySQL 中具有特殊含义, 如果数据库名中含有下划线 _
    例如 GRANT ALL ONdb_1.* TO test_user;进行授权操作时,会导致 db01 ,db11 ,db21 ,…,db91 都被匹配。需要将_进行转译才行。
    所以还是有坑的,那位同事可能之前看到过但具体想不起来是啥坑了
    akira
        23
    akira  
       10 小时 37 分钟前
    就是你这个习惯就行了, 已经是问题最少的方案了
    seansong
        24
    seansong  
       10 小时 34 分钟前
    那就去掉下划线,直接连写,这样总不会有问题了吧🐶
    Rache1
        25
    Rache1  
       9 小时 39 分钟前
    @gam2046 #13 SQL Server 风格,用驼峰 😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.