此查询返回 1 行:
SELECT col1, col2 FROM table1 WHERE col1 = :column1;
但这更新了 0 行:
UPDATE table1 SET col2 = :column2 WHERE col1 = :column1;
COMMIT;
我添加了这个约束来将 col1 设置为主键,但它没有修复它。
ALTER TABLE table1 ADD CONSTRAINT col1_pk PRIMARY KEY (col1);
我正在从 SQL Developer 尝试这个,知道为什么它不更新行吗?
编辑:
col1 是VARCHAR2(32 BYTE) NOT NULL
col2 是CLOB NOT NULL
编辑 2:测试用例,在选择和更新语句中将 :var1 设置为 0011223344556677。
CREATE TABLE MY_TABLE
( COL1 VARCHAR2(32 BYTE) NOT NULL ENABLE,
COL2 CLOB,
CONSTRAINT "MY_TABLE_PK" PRIMARY KEY ("COL1")
)
INSERT INTO MY_TABLE (COL1, COL2) VALUES ('0011223344556677', '1434407992143440799214344079921434407992');
SELECT * FROM MY_TABLE WHERE COL1 = :var1;
UPDATE MY_TABLE SET COL2 = 'test' WHERE COL1 = :var1;
COMMIT;