В Moodle 2 Установка работает на DB2, удаление пользователя неудачна, возвращая ошибку чтения из базы данных:Существующий столбец DB2 сообщается как не столбец таблицы
Debug информация: [IBM ] [Драйвер CLI] [DB2/LINUXX8664] SQL0206N «USERIDFROM» недопустим в том контексте, в котором он используется. SQLSTATE = 42703 SQLCODE = -206 SELECT * FROM mdl_message WHERE useridfrom =? ORDER BY timecreated
[массив ( 0 => '28521', )]
Описание ошибки для SQL0206N ясна, но useridfrom
является колонна mdl_message
:
$ db2 describe table mdl_message
Data type Column
Column name schema Data type name Length Scale Nulls
------------------------- --------- ------------------- ---------- ----- ------
ID SYSIBM BIGINT 8 0 No
USERIDFROM SYSIBM BIGINT 8 0 No
USERIDTO SYSIBM BIGINT 8 0 No
SUBJECT SYSIBM VARCHAR 200 0 Yes
FULLMESSAGE SYSIBM VARCHAR 200 0 Yes
FULLMESSAGEFORMAT SYSIBM SMALLINT 2 0 Yes
FULLMESSAGEHTML SYSIBM VARCHAR 100 0 Yes
SMALLMESSAGE SYSIBM VARCHAR 200 0 Yes
NOTIFICATION SYSIBM SMALLINT 2 0 Yes
CONTEXTURL SYSIBM VARCHAR 200 0 Yes
CONTEXTURLNAME SYSIBM VARCHAR 200 0 Yes
TIMECREATED SYSIBM BIGINT 8 0 No
12 record(s) selected.
Что еще может вызвать эту ошибку?
Из сообщения об ошибке, которое вы получаете, непонятно, что используется предложение WHERE. Вы забыли положить его? – Kreg
Это странная ошибка, есть ли триггер на столе или что-то в этом роде? Или есть способ отключить чувствительность к регистру? И не случайно «1» (один) или «l' (ell) или подобный? Кроме того, я предполагаю, что 'TIMECREATED' - это количество миллисекунд (или nano) секунд с эпохи в UTC - чтобы обойти тот факт, что DB2 не хранит информацию о часовом поясе в метках времени? –
На основании сообщения об ошибке похоже, что вы передали знак вопроса в DB2 для USERIDFROM вместо большого целого. –