OK, I'm starting to think it's a wrongly defined table. The table I would 
like to import has following structure:

CREATE TABLE `cities` (
  `ID` int(8) unsigned NOT NULL auto_increment,
  `country` char(2) NOT NULL,
  `region` char(3) NOT NULL,
  `url` varchar(50) NOT NULL,
  `name` varchar(50) NOT NULL,
  `latitude` double NOT NULL,
  `longitude` double NOT NULL,
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `country` USING BTREE (`country`,`name`,`region`)
) ENGINE=InnoDB AUTO_INCREMENT=207637 DEFAULT CHARSET=utf8;

My 'city' table definition looks like this:

db.define_table('city',
Field('id', length=8),
Field('country', length=2, unique=True),
Field('region', length=3),
Field('url', length=50),
Field('name', length=50),
Field('latitude', 'double'),
Field('longitude', 'double'),
format=lambda r: r.name
)

Does someone see an error here?

On Monday, June 10, 2013 12:35:23 AM UTC+2, lesssugar wrote:
>
> I'm aware this might be rather a postgresql question but maybe someone 
> knows how to deal with it.
>
> I defined 'city' table
>
> db.define_table('city',
> Field('id', length=8),
> Field('country', length=2, unique=True),
> Field('region', length=3),
> Field('url', length=50),
> Field('name', length=50),
> Field('latitude', 'double'),
> Field('longitude', 'double'),
> format=lambda r: r.name
> )
>
> The table is empty and I'm trying to import data from CSV file using 
> web2py's appadmin (the CSV provides fixed IDs).
>
> Every time I import the file I get the following error:
>
> *duplicate key value violates unique constraint "city_country_key"'*
> *
> *
> I found many similar problems on the net and one of the reasons causing 
> this error was lack of sync between (in my case) 'city' and 'city_id_seq'. 
> However the sync seems to be OK, because:
>
> A. select max(id) from city; -- returns nothing (the table 'city' is empty 
> as I wrote)
> B. select nextval('city_id_seq'); -- returns an integer value
>
> So the result of B. > the result of A. which would suggest it's not a sync 
> problem. I've been fighting with this all day. If someone knows what's 
> going on, please let me know.
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to