Re: Unexpected SQL error for UPDATE

From: Michael Glaesemann <grzm(at)seespotcode(dot)net>
To: aurora <aurora00(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Unexpected SQL error for UPDATE
Date: 2006-07-12 12:18:30
Message-ID: 793EC6C5-19C6-490F-812A-AD9FD0070107@seespotcode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


On Jul 11, 2006, at 20:47 , aurora wrote:

> There is no simple SQL to alter the type. So I use a series of SQLs to
> create a new column, copy the data over and then replace the old
> column with the
> new.

What version of PostgreSQL are you running? In 8.0 and later you can
use ALTER TABLE ALTER TYPE.

http://www.postgresql.org/docs/current/interactive/sql-altertable.html

Something like this (untested) should work in your case:

ALTER TABLE users ALTER email_addresses TYPE text;

> ALTER TABLE users ADD email_address_text text UNIQUE;
> UPDATE users set email_address_text=email_address;
> ALTER TABLE users DROP email_address;
> ALTER TABLE users RENAME email_address_text TO email_address;
> ALTER TABLE users ALTER email_address SET not null;

This looks like it should work, so perhaps someone else has an idea
as to why you're receiving the error. Is the error reproducible? If
you can put together a reproducible test case, it may help someone
else be able to figure out what's going on.

Michael Glaesemann
grzm seespotcode net

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Jaime Casanova 2006-07-12 13:12:21 Re: Unexpected SQL error for UPDATE
Previous Message Exner, Peter 2006-07-12 08:06:34 Re: How to find entries missing in 2nd table?