Thread: How to use the SET data type? Help plz!
When I add a column a table I am able to choose the SET DataType, but there is no obvious way to define the acceptable values for the set. I'd like to use the gui that I use for creating all my other columns rather than doing it by hand. The generated sql from the gui doesn't even seem right because it puts set in quotes. I can't even enter sql by hand that should add a set with values, of course my syntax might not be right as I can't seem to find a good example for creating a set. Can anyone help me in using sets with pgadmin?
Ummmm...PostgreSQL doesn't support sets... Chris pgadmin@claymccoy.com wrote: > When I add a column a table I am able to choose the SET DataType, but there is > no obvious way to define the acceptable values for the set. > I'd like to use the gui that I use for creating all my other columns rather > than doing it by hand. The generated sql from the gui doesn't even seem right > because it puts set in quotes. I can't even enter sql by hand that should add > a set with values, of course my syntax might not be right as I can't seem to > find a good example for creating a set. > Can anyone help me in using sets with pgadmin? > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster
> Odd that it is a selectable datatype in pgadmin then huh? That's a question for the pgAdmin guys, but I know that PostgreSQL has a type called 'set', which is nothing to do withsets as you understand them. > If there are no sets, then is there anythign else that can be used to > represent that type of data. I used them a lot in a mySQL database that I am > migrating from. It is very useful to have a predefined set of values to > choose from, otherwise it would just be a text field with no constraints as to > the contents. It is also nice to have the popup menus of the selecable values > when inputing data like how phpmyadmin handles sets. It seem slike a huge > oversight to not support them. Look up CHECK constraints. Lack of 'MySQL sets' in Postgres is NOT an oversight. It's a random, non-SQL standard type that the MySQL developers made up one day that no other database on Earth supports. Why should Postgres support it? It's just a lame workaround for MySQL not supporting constraints. (Sorry to sound all worked up about it, but it's one of the things I find annoying about MySQL...) Chris
> I see your points. So how is the best way to implement this type of "set" idea > in something like postgres? Say I have a column named primary colors, and I > want to limit this to red, blue, and yellow. How is the best way to do this > without a mysql set? CREATE TABLE foo (color varchar(255) NOT NULL,CHECK (color IN ('red', 'blue', 'yellow')) }; Chris