Re: MySQL to Postgres question
От | Justin |
---|---|
Тема | Re: MySQL to Postgres question |
Дата | |
Msg-id | 47E3F2A9.7030203@emproshunts.com обсуждение исходный текст |
Ответ на | MySQL to Postgres question ("Edward Blake" <comedian.watchman@gmail.com>) |
Ответы |
Re: MySQL to Postgres question
|
Список | pgsql-general |
Edward Blake wrote: > The table I have in MySQL is similar to below: > > 0 SET FOREIGN_KEY_CHECKS=0; > 1 CREATE TABLE products ( > 2 product_id integer(11) not null auto_increment, > 3 product_name varchar(255) not null, > 4 product_descrition varchar(255) not null, > 5 class_id integer(11) not null, > 6 subclass_id integer(11) not null, > 7 department_id integer(11) not null > 8 PRIMARY KEY (product_id), > 9 KEY class_id (class_id), > 10 KEY subclass_id (subclass_id), > 11 KEY department_id (department_id) > 12 ); > > When I try and rewrite it as a Postgres statement (below), it fails at > line 9. > 0 SET CONSTRAINTS ALL DEFERRED; > 1 CREATE TABLE products ( > 2 product_id serial[11] not null, > 3 product_name varchar[255] not null, > 4 product_descrition varchar[255] not null, > 5 class_id integer[11] not null, > 6 subclass_id integer[11] not null, > 7 department_id integer[11] not null > 8 PRIMARY KEY (product_id), > 9 KEY class_id (class_id), > 10 KEY subclass_id (subclass_id), > 11 KEY department_id (department_id) > 12 ); > > Any ideas? Another way to do auto increment fields is create your own sequences. Also according to what i have read from the postgresql documents there is no performance difference between varchar and text. create sequence my_auto_increment INCREMENT 1 START 1 CACHE 1; CREATE TABLE products ( product_id integer primary key default nextval(('my_auto_increment'::text)::regclass), product_name text not null, product_descrition text not null, class_id integer not null, subclass_id integer not null, department_id integer not null);
В списке pgsql-general по дате отправления: