2017-01-23 10 views
1

Мне нужно работать над проектом, подключающимся к базе данных SQL Server, при работе с PHP и базой Laravel.Альтернативы типа данных MSSQL & SQL?

Моя проблема связана с типами данных и где я могу изменить их на полностью функциональные и более «обычные» типы данных SQL. Итак, возьмем NVARCHAR, например, смогу ли я перейти в обычный VARCHAR?

Типы я являются:

  • NCHAR
  • NVARCHAR
  • GEOGRAPHY

Я прочитал над here что:

Laravel использует db-библиотеку (если она доступна) для подключения к серверу Sql , который не может получать данные Unicode из MSSQL. (1,2)

Есть ли кто-нибудь в толпе, который работает с Ларавелем и претворяет такую ​​задачу?

+2

NCHAR и NVARCHAR являются полностью «обычными». Они допускают расширенный набор символов. Эта страница должна оказаться чрезвычайно полезной. https://msdn.microsoft.com/en-us/library/ms187752.aspx –

+1

Как и ГЕОГРАФИЯ ... Какова проблема, с которой вы сталкиваетесь сейчас? – iamdave

+0

Я должен был подробно остановиться на «обычных» ... Laravel (и я уверен, что другие структуры) имеют конкретные модели и схемы, которые используют обычные типы данных, если вы знакомы с красноречивыми моделями Laravel, ни в коем случае я буду изменять свой вопрос чтобы разобраться. – DudeOfLayers

ответ

1

Вы можете использовать следующую конвенцию, я нашел из MSSQL data types to MYSQL data types

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

До сих пор не удалось найти решение для GEOGRAPHY типа. Я буду держать вас в курсе.

Найдено this по телефону GEOGRAPHY, но он явно не упоминает об этом.

+0

Значит, вы говорите, что я могу свободно использовать varchar для замены nvarchar? Я считаю, что DBA сделал это, потому что здесь мы будем иметь каждый язык в мире. Будет выглядеть так же, как и ваш ответ. – DudeOfLayers

+1

@DudeOfLayers Я не уверен в MySQL, но в MSSQL определенно нет. Преобразование из 'nvarchar' в' varchar' не будет сохранять международные наборы символов. – iamdave

+0

Согласен + все обходные решения, которые я нашел в Интернете, просто чересчур разбросаны и не будут приняты в любом обзоре кода, спасибо всем и будут ждать любых будущих ответов. – DudeOfLayers