<тип '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

Другие вопросы по тегам