无法在DB2

时间:2018-01-26 13:25:43

标签: sql db2

我有一个非常简单的表格:

CREATE TABLE LikesBabble (
    user VARCHAR(20) NOT NULL,
    babble SMALLINT NOT NULL,
    type CHAR(7) CHECK (type IN ('like','dislike')),
    created timestamp DEFAULT CURRENT TIMESTAMP,
    PRIMARY KEY (user, babble),
    FOREIGN KEY (user) REFERENCES BabbleUser(username) ON DELETE CASCADE,
    FOREIGN KEY (babble) REFERENCES Babble(id) ON DELETE CASCADE
);

BabbleUser和Babble表是用于存储用户数据和" babbles"的简单表格。 (像Twitter模仿的东西)

当我尝试"从likesbabble"中选择*如果我添加"其中user =' student_1'"它不会返回任何内容。即使表中有一个具有该名称的用户。

如果我尝试通过babble [哪个是id]或其他任何工作来选择。

如果我尝试"用户喜欢'%'"它可以工作,但用户喜欢'%e%'"它没有。

发生了什么,为什么我不能从用户col中选择任何内容?

1 个答案:

答案 0 :(得分:1)

我猜USER是一个返回当前名称的函数。试试"

SELECT *
FROM LikesBabble
WHERE "user" LIKE '%e%';

同样使用关键字/保留字也不是最好的主意。更多信息:Reserved words;

SQL Server演示:

CREATE TABLE a ("USER" VARCHAR(10));

INSERT INTO a VALUES ('Jones');

SELECT *
FROM a
WHERE user LIKE 'Jones';

SELECT user
FROM a;

<强> Rextester Demo

我想这是similliar案例。

相关问题