0
希望是一個簡單的,可能是我錯過了一些愚蠢的東西。 爲什麼下面的語句沒有產生任何結果:爲什麼在此SQL語句中使用@variable不會產生結果?
SET @old_sites_path = 'sites/mysite.co.uk/', @sites_path = 'sites/default/'
-- Update the content within blocks
UPDATE `boxes`
SET `body` = REPLACE(`body`, @old_sites_path+'files', @sites_path+'files');
但是,如果我只是替代變量,我得到的結果呢?
-- Update the content within blocks
UPDATE `boxes`
SET `body` = REPLACE(`body`, 'sites/mysite.co.uk/files', 'sites/default/files');
只爲背景,這是一個更大的腳本,可以幫助我管理的Drupal數據庫的部署的一部分。
感謝:-)
是的,我剛剛跑過這個'SELECT @ old_sites_path +'文件';',它返回0,然後我想起我正在將MSSQL混合到我的腳本中。頑皮調皮。非常感謝:-) – 2013-02-22 11:33:26
神祕的答案,但是如果OP有能力解決這個問題的話,那麼這個答案就足夠了。 (對於那些沒有得到它的人:MySQL中的'+'符號用於添加數字 - 原始海報需要使用CONCAT函數來連接字符串。) – 2013-02-22 12:53:17