在DB2上运行的Moodle 2安装中,删除用户失败,返回从数据库读取的错误:


调试信息:[IBM] [CLI驱动程序] [DB2 / LINUXX8664] SQL0206N“ USERIDFROM”在使用上下文中无效。 SQLSTATE = 42703 SQLCODE = -206
SELECT * FROM mdl_message WHERE useridfrom =吗? ORDER BY创建的时间
[数组(
0 =>'28521',
)]


SQL0206N的错误描述很清楚,但是useridfrommdl_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.


还有什么可能导致此错误?

最佳答案

列名可能以某种方式在其中留有空格。您可以使用此查询来查找是否有尾随空格:

db2 "select '<' || name || '>' from sysibm.syscolumns where tbname = 'MDL_MESSAGE'"

10-07 15:38