为什么这个SQL语句没有执行?

时间:2011-09-19 18:32:29

标签: sql

我有一个没有where子句的SQL语句,因为我希望它能影响所有行。我有一个名为url的列。现在我想将当前列的URL更改为其他内容。我想将一些内容连接到当前的URL。

我的陈述是:

 UPDATE tablename SET url = 'http' || url;

这是在一个sql文件中,它执行并抛出没有错误,但数据库没有改变。

有人可以帮忙吗?

RDBMS是MySQL

3 个答案:

答案 0 :(得分:3)

(假设它是Oracle DB)
我猜你没有提交更改并检查其他会话中的更改。

将您的脚本文件更改为:

UPDATE tablename SET url = 'http' || url; 
COMMIT;

答案 1 :(得分:3)

取决于您的引擎(如果它不是Oracle,并且您有一些奇怪的MySQL按位运算符)

UPDATE tablename SET url = CONCAT('http', url);

UPDATE tablename SET url = 'http' + url;

答案 2 :(得分:2)

如果提交不是隐式的,您可能需要提交事务。 尝试

COMMIT;