我有一个没有where子句的SQL语句,因为我想让它影响所有的行。我有一个名称为url的列。现在我想将当前列的网址更改为其他内容。我想连接一些东西到当前的网址。为什么这个SQL语句不能执行?
我的说法是:
UPDATE tablename SET url = 'http' || url;
这是在SQL文件,该文件执行并引发错误,但数据库没有改变。
任何人都可以帮忙吗?
RDBMS是MySQL的
我有一个没有where子句的SQL语句,因为我想让它影响所有的行。我有一个名称为url的列。现在我想将当前列的网址更改为其他内容。我想连接一些东西到当前的网址。为什么这个SQL语句不能执行?
我的说法是:
UPDATE tablename SET url = 'http' || url;
这是在SQL文件,该文件执行并引发错误,但数据库没有改变。
任何人都可以帮忙吗?
RDBMS是MySQL的
根据您的发动机(如果它不是甲骨文和你有一些奇怪的MySQL位运算符)
UPDATE tablename SET url = CONCAT('http', url);
或
UPDATE tablename SET url = 'http' + url;
(假设它的一个Oracle DB)
我猜你是不是commiting更改,并检查其他会话的变化。
脚本文件更改为:
UPDATE tablename SET url = 'http' || url;
COMMIT;
如果提交不是隐式的,则可能需要提交事务。 试试
COMMIT;
什么RDBMS可以肯定? – gbn
tsql使用(+)作为concat ...你是使用oracle还是其他一些sql语言?在tsql中||是一个按位运算符 – RThomas
另外,你如何运行该文件? –