12
A
回答
26
我強烈建議您不要使用這些名稱創建數據庫。但是,如果你絕對必須,這裏有restrictions:
- 沒有標識符可以包含ASCII NUL(0x00),或是用255
- 數據庫,表和列名的值不應與空間結束字節字符。
- 數據庫和表名不能包含「/」,「\」,「。」或文件名中不允許的字符。
要創建一個數據庫,你可以做到以下幾點:
mysql> create database `[email protected]*database$name`;
3
簡單:不要。
您可以使用反引號在mysql中逃脫異國情調的表名,但我不知道是否可以使用任何反引號包圍。在軟件生命週期的其餘部分,它會帶來很大的痛苦。
我寧願建議創建另一個表來保存這些奇異的名字。
-- Example:
CREATE TABLE _DatabaseMetadata (
databaseName VARCHAR(255),
exoticName VARCHAR(255)
) DEFAULT CHARSET=utf8;
1
簡短的回答:
- 不要。我強烈建議保留所有由A-Z,a-z,0-9和_字符組成的標識符。您可以將您的「異國情調」名稱存儲在一列或評論中。
龍答:
- 您可以命名您的列,表鍵,外鍵,視圖,甚至數據庫利用外來字符,但機會是你會在將來後悔。
- 如果你堅持這樣做,你需要在反引號(`)中引用你的標識符。
- 如果你的標識必須包含另一個`內,您可以逃避它,說明它的兩倍(如外來`名稱 - > `異國` `名`)
- 對於事情並非如此簡單,如果你在你的數據庫名稱中使用外來的(甚至是非常規的)字符(包括簡單的空格),那些字符(據我所知,除az,AZ,0-9和_之外的所有內容)都會被轉換成4位十六進制四字節通過@逃脫,例如`我的數據庫`成爲我的@ 0020數據庫。該表格被用作存儲你的數據庫/表格的目錄/文件的名稱,例如information_schema.INNODB_SYS_FOREIGN中的項目還可能非常依賴操作系統(也就是說,理論上,您可能想要運行
SHOW VARIABLES LIKE 'version_compile_os'
以適應它)。你看 - 用奇特的名字,它會變得更加複雜,最終它並不值得。
相關問題
- 1. mysql數據庫中的特殊字符
- 2. 使用PHP從MySQL數據庫中獲取特殊字符
- 3. 在mysql數據庫中使用python angularjs插入特殊字符
- 4. 使用「。」創建mysql數據庫在名稱(使用PHP)
- 5. 使用特殊字符的PHP變量/函數/類名稱
- 6. 數據庫的特殊字符問題
- 7. Mysql使用動態數據庫名稱創建表
- 8. 來自MySQL數據庫的特殊字符的json_encode
- 9. MYSQL特殊字符
- 10. 目錄名稱包含特殊字符
- 11. 特殊字符H2數據庫
- 12. 使用特殊字符的MySQL查詢
- 13. 在Joomla中顯示MySQL數據庫中的特殊字符
- 14. MySQL數據庫的特殊字符(cyrilic,chinese)
- 15. 如何使用特殊字符連接數據框的行名稱?
- 16. LaTeX - 使用hyperref&\ ref - 引用名稱中的特殊字符?
- 17. 在表名中的特殊字符在SQLite數據庫
- 18. Omnis數據庫文件中帶有特殊字符的表名
- 19. php文件字符編碼,mysql數據庫字符編碼,特殊字符
- 20. 使用的對象屬性名稱特殊字符
- 21. 創建/刪除整數名稱的MySQL數據庫
- 22. JDBC在MySQL數據庫中設置特殊字符
- 23. 在MySQL數據庫中查找特殊字符
- 24. 將特殊字符保存到MySQL數據庫
- 25. php mysql:從數據庫中刪除一個特殊字符
- 26. 使用特殊字符在Xml元素名稱
- 27. 允許在數據庫中使用特殊字符插入c#
- 28. 保存在Oracle數據庫ANSI特殊字符使用PHP
- 29. 特殊字符cookie創建與PHP
- 30. 爲特殊字符創建CSV文件
我想動態創建它,我可以這樣做嗎?例如 - 我想給一個變量的數據庫名稱 set @a = name.surname; create database @a; – 2009-05-29 12:45:29
非常感謝安德烈。這是一個很大的幫助,因爲我需要它,儘管這是不可取的。謝謝:) – 2009-05-29 13:17:54