我有一個沒有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
另外,你如何運行該文件? –