我有一个没有where子句的SQL语句,因为我希望它能影响所有行。我有一个名为url的列。现在我想将当前列的URL更改为其他内容。我想将一些内容连接到当前的URL。
我的陈述是:
UPDATE tablename SET url = 'http' || url;
这是在一个sql文件中,它执行并抛出没有错误,但数据库没有改变。
有人可以帮忙吗?
RDBMS是MySQL
答案 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;