<type 'exceptions.SyntaxError'> 无效 table/column 名称 "size" 是 "ALL" 保留 SQL/NOSQL 关键字
<type 'exceptions.SyntaxError'> invalid table/column name "size" is a "ALL" reserved SQL/NOSQL keyword
db.define_table('bookspace',
Field('locaton','string'),
Field('size','string'),
Field('availablefrom', 'string'),
Field('availableto', 'string'),
Field('rooftype', 'string'),
Field('sitetype', 'string'),
Field('name', 'string'),
Field('email', 'string'),
Field('mobile', 'string'),
Field('industry_food', 'string'),
Field('industry_ecommerce', 'string'),
Field('industry_furniture', 'string'),
Field('industry_exim', 'string'),
Field('industry_auto', 'string'),
Field('industry_chemical', 'string'),
Field('industry_logistics', 'string'),
Field('industry_construction', 'string'),
Field('industry_agriculture', 'string'),
Field('industry_telecom', 'string'),
Field('industry_others', 'string'),
Field('parameter_rent','string'),
Field('parameter_numgates', 'string'),
Field('parameter_numdocks', 'string'),
Field('parameter_centralheight', 'string'),
Field('parameter_sidewallheight', 'string'),
Field('parameter_parkingarea', 'string'),
Field('parameter_firenoc', 'string'),
Field('parameter_foodlicense', 'string'),
Field('service_transportation','string'),
Field('service_security', 'string'),
Field('service_cctv', 'string'),
Field('service_insurance', 'string'),
Field('service_racking', 'string'),
Field('service_pallets', 'string'),
Field('service_forklift', 'string'),
Field('service_powerbackup', 'string'),
Field('service_loading', 'string'),
format='%(name)s')
通过输入上面的代码我得到了这个错误(无效的 table/column 名称 "size" 是一个 "ALL" 保留的 SQL/NOSQL 关键字)帮我摆脱这个.
在这种情况下应该使用什么。
谢谢。
db = DAL(..., entity_quoting=True)
大小是数据库保留的一个词。也就是说,它们对数据库有特殊意义,因此不能重新定义。因此,您不能使用它们来命名数据库对象,例如列、表或索引。尝试使用不同的名称:)
您需要在 DAL 签名中为 check_reserved
设置适当的值。
读这个 - Reserved keywords
其他解决方案可以,使用rname
为字段指定其他名称。这个新名称将在 db 中使用,但您可以在代码中使用 'size'。
db.define_table('bookspace',
Field('locaton','string'),
Field('size','string'),
Field('availablefrom', 'string'),
Field('availableto', 'string'),
Field('rooftype', 'string'),
Field('sitetype', 'string'),
Field('name', 'string'),
Field('email', 'string'),
Field('mobile', 'string'),
Field('industry_food', 'string'),
Field('industry_ecommerce', 'string'),
Field('industry_furniture', 'string'),
Field('industry_exim', 'string'),
Field('industry_auto', 'string'),
Field('industry_chemical', 'string'),
Field('industry_logistics', 'string'),
Field('industry_construction', 'string'),
Field('industry_agriculture', 'string'),
Field('industry_telecom', 'string'),
Field('industry_others', 'string'),
Field('parameter_rent','string'),
Field('parameter_numgates', 'string'),
Field('parameter_numdocks', 'string'),
Field('parameter_centralheight', 'string'),
Field('parameter_sidewallheight', 'string'),
Field('parameter_parkingarea', 'string'),
Field('parameter_firenoc', 'string'),
Field('parameter_foodlicense', 'string'),
Field('service_transportation','string'),
Field('service_security', 'string'),
Field('service_cctv', 'string'),
Field('service_insurance', 'string'),
Field('service_racking', 'string'),
Field('service_pallets', 'string'),
Field('service_forklift', 'string'),
Field('service_powerbackup', 'string'),
Field('service_loading', 'string'),
format='%(name)s')
通过输入上面的代码我得到了这个错误(无效的 table/column 名称 "size" 是一个 "ALL" 保留的 SQL/NOSQL 关键字)帮我摆脱这个. 在这种情况下应该使用什么。 谢谢。
db = DAL(..., entity_quoting=True)
大小是数据库保留的一个词。也就是说,它们对数据库有特殊意义,因此不能重新定义。因此,您不能使用它们来命名数据库对象,例如列、表或索引。尝试使用不同的名称:)
您需要在 DAL 签名中为 check_reserved
设置适当的值。
读这个 - Reserved keywords
其他解决方案可以,使用rname
为字段指定其他名称。这个新名称将在 db 中使用,但您可以在代码中使用 'size'。