Re: Copying data from one table to another - how to specify fields?

From: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Copying data from one table to another - how to specify fields?
Date: 2011-03-09 14:47:59
Message-ID: AANLkTikjgK_0yKXHvN8gSN50RMj3JHzAqmB3D4USX4tD@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello Raymond and others,

thank you for looking at my problem!

It is a core Drupal 7 table, with a prefix "drupal_"
(you can set it while installing Drupal 7 in adv. options).

I have only 2 records in that target table:

# 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 | 1299753672
(2 rows)

I've tried you suggestion and the conflicting record is 'Alex':

# select username, user_id from phpbb_users where exists
(select 1 from drupal_users
where drupal_users.name = phpbb_users.username);
username | user_id
----------+---------
Alex | 2
(1 row)

But isn't that record excluded by the conditions below?

# 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 and username <> 'Alex';
ERROR: duplicate key value violates unique constraint "drupal_users_name_key"

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2011-03-09 14:48:10 Re: [GENERAL] FW: backup using pg_dump postgreSQL 8.3.8
Previous Message Andrew Sullivan 2011-03-09 14:43:25 Re: Transaction wraparound vacuum synchronicity