3

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

调试信息:[IBM][CLI Driver][DB2/LINUXX8664] SQL0206N“USERIDFROM”在使用它的上下文中无效。SQLSTATE=42703 SQLCODE=-206 SELECT * FROM mdl_message WHERE useridfrom = ? ORDER BY timecreated
[array ( 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.

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

4

2 回答 2

6

列名可能以某种方式在其中包含空格。您可以使用此查询来确定是否有任何尾随空格:

db2 "select '<' || name || '>' from sysibm.syscolumns where tbname = 'MDL_MESSAGE'"
于 2012-06-19T17:29:03.013 回答
0

您确定您从命令行和 CLI 以同一用户身份连接。可能存在同一个表存在于不同模式中的情况,您看到的是不同表的描述,但访问的是另一个表。

于 2012-06-19T18:15:42.830 回答