<тип 'exceptions.SyntaxError'> неверное имя таблицы / столбца "size" - это зарезервированное ключевое слово "ALL" SQL/NOSQL
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')
Введя код выше, я получаю эту ошибку (неверное имя таблицы / столбца "size" является зарезервированным ключевым словом "ALL" для SQL/NOSQL). Помогите мне избавиться от этого. что следует использовать в этом случае. Thks.
3 ответа
Размер - это слово, зарезервированное БД. То есть они имеют особое значение для БД и поэтому не могут быть переопределены. По этой причине вы не можете использовать их для именования объектов базы данных, таких как столбцы, таблицы или индексы. Попробуйте вместо этого использовать другое имя:)
Вам необходимо установить соответствующее значение для check_reserved
в подписи DAL.
Читать это - зарезервированные ключевые слова
Другое решение может быть, использовать rname
дать другое имя для поля. Это новое имя будет использоваться в БД, но вы можете использовать "размер" в своем коде.
Читать поле constructor-rname
db = DAL(..., entity_quoting=True)
http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer