Re: Mysql -> PgSQL

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Mysql -> PgSQL
Дата
Msg-id 20020822075534.F6920-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Re: Mysql -> PgSQL  (Tommi Maekitalo <t.maekitalo@epgmbh.de>)
Список pgsql-general
On Thu, 22 Aug 2002, Tommi Maekitalo wrote:

> Am Mittwoch, 21. August 2002 20:18 schrieb Bruce Momjian:
> > Ray Hunter wrote:
> > > I am trying to convert a data type in mysql to postgresql and was
> > > wondering which one i would use in pgsql.
> > >
> > > the type is "set" (example):
> > >
> > > name     set( 'val1', 'val2', 'val3' ) NOT NULL DEFAULT 'val2'
> > >
> > > How can i do that in pgsql?
> >
> > Sure:
> >
> >     x CHAR(4) NOT NULL DEFAULT 'val2' CHECK (x = 'val1' OR x = 'val2' ...)
>
> Thats not so trivial. The type set can have "zero or more values, each of
> which must be chosen from a list of allowed values" (from Mysql-manual). In
> PostgreSQL you have to use a details-table for this. This is a nonstandard
> feature of Mysql (these people concentrate in creating nonstandard extensions

Another way (which is alot more involved but I guess marginally closer to
the mysql one) would involve making a function that takes two arrays and
makes sure that each element of the first is a member of the second (and
if set doesn't allow duplicates, that as well) and then do an array as
the column with a check constraint using the function.

All in all a details table is better, though. :)



В списке pgsql-general по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Mysql -> PgSQL
Следующее
От: "Derick"
Дата:
Сообщение: Installing Booktown Schema