當我的「業務」表或列名恰好是保留字時,我對在PostgreSQL中使用帶引號的標識符保持警惕。是否有任何標準或最佳實踐方法?我希望有一個一致的mangling機制,因爲這裏還有一些代碼生成功能,並且需要能夠自動在PostgreSQL中使用的重名名稱和代碼中使用的非重名名稱之間來回轉換。保留列或表名稱的標準修改
3
A
回答
2
爲了保證所有名稱不是保留字,用「mangle」術語最簡單也是最好的方法是在它們前面加下劃線字符。
最好的方法是不要使用保留字 - 讓DBA爲業務術語和數據庫術語之間的任何衝突選擇名稱。
還要考慮可能與應用程序語言中的保留字發生衝突的術語。
0
我喜歡爲服務器端函數中的參數和變量保留下劃線前綴(_name
)以排除衝突。最近我在使用函數的人中看到了很多。
對於數據庫對象的標識符,我手動選擇名稱。使用非英文條款(縮寫爲ASCII字母)可避免大部分衝突。
另一種替代方法是對錶名使用複數表,因爲大多數保留字都是單數形式(有一些例外!)。
大多數單字母前綴都會毫無例外地完成這項工作。像:n_name
。但是由於我手工挑選標識符,因此不需要自動化。
任何東西是很好的,避免了雙引號錯誤發生的需要。即使Postgres允許他們,我也不會使用reserved words。
相關問題
- 1. t_無論C標準還是POSIX中的保留名稱?
- 2. 標準窗口類名稱列表
- 3. 在列表中標準化名稱(python)
- 4. C++是否也保留標準庫函數名稱?
- 5. 數據準備在R:正長行堆疊列保留名稱
- 6. Python3:保留修改列表中的更改元素
- 7. 用新的標題名稱列表更改列表中的標題名稱
- 8. foreach:保留名稱
- 9. R data.table列名稱的保留字?
- 10. PeopleSoft修改字段標籤,同時保留列標籤
- 11. Combobox:更改項目名稱,保留值
- 12. Python:如何保留和/或修改部分文件名?
- 13. 在列名稱中使用保留字
- 14. ProGuard保留類名稱,但更改包名稱
- 15. Firebase Analytics:保留標準
- 16. 將工作簿名稱更改爲VBA中的標準名稱
- 17. aws修改保留實例
- 18. Play 2.0 Framework - 保留表名稱
- 19. 訪問列名稱爲保留關鍵字的表格
- 20. 保存用戶修改的應用程序名稱列表的最佳方法
- 21. 「html」不是保留名稱
- 22. 「login.ini」是保留名稱嗎?
- 23. MySQL列名稱標準/約定
- 24. MySQL保留列名
- 25. 用戶名保留字的好列表
- 26. 如何將列表轉換爲R保留名稱中的列表?
- 27. 將列表寫入文本文件,保留名稱,R
- 28. PHP - 修改標準功能
- 29. 修改火炬標準
- 30. 修改列表中因素的級別名稱和數量