2017-01-23 88 views
1

我必須在使用PHP和Laravel框架的同時處理連接到SQL Server數據庫的項目。MSSQL和SQL數據類型的選擇?

我的問題是與數據類型,我可以將它們改變爲功能齊全和更傳統的SQL數據類型。那麼讓我們以NVARCHAR爲例,我是否可以變成一個正常的VARCHAR?

的類型我也有:

  • NCHAR
  • NVARCHAR
  • GEOGRAPHY

我已經讀了here說:

Laravel使用db-library(如果可用)連接到無法從MSSQL接收Unicode數據的Sql Server 。 (1,2)

人羣中有沒有人與Laravel一起工作並執行了這樣的任務?

+2

NCHAR和NVARCHAR是完全「傳統」的。它們允許擴展字符集。這個頁面應該證明非常有幫助。 https://msdn.microsoft.com/en-us/library/ms187752.aspx –

+1

正如GEOGRAPHY ...你在這裏面臨的實際問題是什麼? – iamdave

+0

我應該詳細闡述「常規」... Laravel(我確信其他框架)具有使用傳統數據類型的特定模型和方案,如果您熟悉Laravel雄辯的模型,在任何情況下我都會修改我的問題清理事情。 – DudeOfLayers

回答

1

您可以使用以下約定,我從MSSQL data types to MYSQL data types

NCHAR => CHAR/LONGTEXT 
NVARCHAR => VARCHAR/MEDIUMTEXT/LONGTEXT 

仍發現找不到GEOGRAPHY類型的解決方案。我會及時向大家發佈。

找到thisGEOGRAPHY但它顯然沒有提及它的對應。

+0

所以你說我可以自由地使用varchar來替換nvarchar? 我認爲DBA做到了這一點,因爲我們將在這裏擁有世界上所有的語言。也將轉向你的回答地理。 – DudeOfLayers

+1

@DudeOfLayers我不確定MySQL,但在MSSQL中肯定不是。從'nvarchar'轉換爲'varchar'不會保留國際字符集。 – iamdave

+0

我同意我在網上發現的所有解決方法都太錯開了,並且在任何代碼審查中都不會被接受,謝謝大家,並且會等待任何未來的答案。 – DudeOfLayers