<type'exception.syntaxerror'=“”>(Invaild表/列名&#34; Date&#34;是&#34; All&#34;保留的SQL / NOSQL关键字

时间:2016-03-15 05:35:10

标签: web2py

db.define_table('Bill',
                Field('Bill_NO', 'integer', requires=IS_NOT_EMPTY()),
                Field('Date', 'date'),
                Field('Customer_ID', requires=IS_NOT_EMPTY()),
                Field('Name', requires=IS_NOT_EMPTY()),
                Field('Address', 'text', length=255),
                Field('Phone', requires=IS_NOT_EMPTY()),
                Field('Item', 'list',  requires=IS_NOT_EMPTY()), Field('Price', 'list`', requires=IS_NOT_EMPTY()),
                Field('Grand_Total', 'double', requires=IS_NOT_EMPTY())
                #auth.signature
               )

我输入了上面的代码,点击模型中的db.Bill后出现以下错误: (Invaild表/列名称&#34;日期&#34;是&#34;所有&#34;保留的SQL / NOSQL关键字 所以帮助我摆脱这个错误。感谢。

2 个答案:

答案 0 :(得分:1)

因为Date是SQL数据库中的数据类型,如果要将其作为列名,请将其替换为[Date]

答案 1 :(得分:1)

如果您想在web2py代码中使用Date但不介意数据库是否使用其他名称,您可以这样做:

Field('Date', 'date', rname='bill_date')

在这种情况下,数据库将使用bill_date作为列名(因此避免保留关键字错误),但在您的web2py代码中,您仍然可以引用db.Bill.Date