From: | Raymond O'Donnell <rod(at)iol(dot)ie> |
---|---|
To: | Alexander Farber <alexander(dot)farber(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Copying data from one table to another - how to specify fields? |
Date: | 2011-03-09 14:33:44 |
Message-ID: | 4D778FC8.5090003@iol.ie |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 09/03/2011 14:21, Alexander Farber wrote:
> Oh it is called "INSERT INTO", thank you!
>
> I still have a problem though:
>
> # select uid, name, mail, created, access from drupal_users;
> uid | name | mail | created | access
> -----+------+----------------------------+------------+------------
> 0 | | | 0 | 0
> 1 | Alex | Alexander(dot)Farber(at)gmail(dot)com | 1299512207 | 1299751991
> (2 rows)
>
> # INSERT INTO drupal_users (uid, name, mail, created, access)
> SELECT user_id, username, user_email, user_regdate, user_lastvisit
> FROM phpbb_users
> WHERE user_id> 50 and length(username)> 0;
> ERROR: duplicate key value violates unique constraint "drupal_users_name_key"
>
> I don't understand, what is wrong with "name" here and
> how to find the troublemaking record in my 4700 lines table
Is "drupal_users" a table you created yourself? In a vanilla
installation of Drupal, the users table is called just "users".
Anyway, to answer your question, you're trying to insert into
drupal_users a value that already exists there, and which is subject to
a constraint which allows only one instance of that value. To find the
offending value you could do something like this (not tested):
select * from phpbb_users where exists
(select 1 from drupal_users
where drupal_users.name = phpbb_users.name);
Hope this helps,
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod(at)iol(dot)ie
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Sullivan | 2011-03-09 14:43:25 | Re: Transaction wraparound vacuum synchronicity |
Previous Message | Alexander Farber | 2011-03-09 14:21:23 | Re: Copying data from one table to another - how to specify fields? |