I am not dealing with legacy tables, I am just starting a new db and
wondering whether I can set multiple primary key, in order to
eliminate the chance of duplicated data.

For example.

        db = DAL('sqlite://storage.sqlite')
        db.define_table('account',
          Field('given_name'),
          Field('surname'),
          Field('phone_number'),
          primarykey=['given_name','surname'])

On May9, 3:23am, DenesL <denes1...@yahoo.ca> wrote:
> Multiple primary keys should work if you are defining legacy tables in
> one of the supported DB engines.
> Are you using MS SQL, DB2, Ingres or Informix?
> Can we see the model?
>
> On May 8, 5:57 am, Iceberg <iceb...@21cn.com> wrote:
>
>
>
> > Hi there,
>
> > I am fiddling multiple primary keys. Somehow I managed to find
> > following example inside gluon/sql.py
>
> >         db.define_table('account',
> >           Field('accnum','integer'),
> >           Field('acctype'),
> >           Field('accdesc'),
> >           primarykey=['accnum','acctype'])
>
> > But running the example throws:
>
> > Traceback (most recent call last):
> >   ......
> >   File "C:\DOWNLOAD\google_appengine\web2py\gluon\sql.py", line 2112,
> > in __init__
> >     raise SyntaxError, 'invalid table "%s" attribute: %s' %
> > (tablename, k)
> > SyntaxError: invalid table "account" attribute: sequence_name
>
> > What did I do wrong?
>
> > Iceberg

Reply via email to