Подтвердить что ты не робот

Что такое замена uniqueidentifier в Mysql

У меня есть запрос от SQL Server, который я хочу запустить в Mysql. но я не могу найти замену ключевого слова uniqueidentifier из SQL Server script на MYSQL Script.

Вот запрос

 CREATE TABLE foo(
  myid uniqueidentifier NOT NULL,
  barid uniqueidentifier NOT NULL
)

Каким будет запрос в Mysql для того же выше SQL Server script?

4b9b3361

Ответ 1

CREATE TABLE FOO (
myid CHAR(38) NOT NULL,
barid CHAR(38) NOT NULL
);

Согласно веб-сайту MS, GUID имеет длину 38 символов.

Ответ 2

Принятый ответ, хотя и не совсем ошибочный, несколько неполный. Разумеется, существуют более эффективные способы хранения GUID/UUID. Пожалуйста, взгляните на этот вопрос: "Хранение MySQL GUID/UUID"

Это лучший способ, с помощью которого я мог бы преобразовать GUID/UUID MySQL, сгенерированный UUID() в двоичный файл (16):

UNHEX(REPLACE(UUID(),'-',''))

И затем сохраняя его в BINARY (16)

Если пространство хранения GUID/UUID является основной проблемой, этот метод обеспечит значительную экономию.

Ответ 4

Помните также, что 16-байтовое значение представлено в шестнадцатеричном виде как 32 байта. С четырьмя тире и двумя фигурными фигурными скобками мы получаем 38 байт в этом формате, совместимых с SQL Server с 38-байтовой строкой. Например: {2DCBF868-56D7-4BED-B0F8-84555B4AD691}.