<type 'exceptions.SyntaxError'>(无效 table/column 名称 "Date" 是 "All" 保留 SQL/NOSQL 关键字

<type 'exceptions.SyntaxError'>(Invaild table/column name "Date" is a "All" reserved SQL/NOSQL keyword

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 后出现以下错误, (无效 table/column 名称 "Date" 是 "All" 保留 SQL/NOSQL 关键字 所以帮我摆脱这个错误。谢谢。

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

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

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

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