嗨我沒有在我的SQL列包含網址,但我將不得不修改它只保留第一個MySql在列後刪除;
的結果應該是像http://sub.domain.com/t/003/4_b_3.jpg,沒有別的
誰能幫助我的語法?
在此先感謝
嗨我沒有在我的SQL列包含網址,但我將不得不修改它只保留第一個MySql在列後刪除;
的結果應該是像http://sub.domain.com/t/003/4_b_3.jpg,沒有別的
誰能幫助我的語法?
在此先感謝
假設(from your comment),其Thumbs
是長字符串(它似乎一直在你原來的問題,我認爲可能是不正確的編輯之前),這將在;
update tablename
set Thumbs = left(Thumbs , instr(Thumbs , ';')-1)
where instr(Thumbs , ';') > 0;
感謝很多:)大拇指:) – Joakim
使用不操作<>
DELETE FROM [table] WHERE url <> 'http://sub.domain.com/t/003/4_b_3.jpg'
這將刪除除一個與http://sub.domain.com/t/003/4_b_3.jpg
或通用的所有行:
DELETE FROM [table] WHERE [url] NOT IN (SELECT TOP 1 [url] FROM [table])
通用的一個返回表的第一行並免除從刪除中刪除它。
測試並不會後悔使用(MySQL的):
START TRANSACTION;
DELETE FROM [table] WHERE url <> 'http://sub.domain.com/t/003/4_b_3.jpg';
ROLLBACK TRANSACTION;
的DELETE
將被執行,但回滾之後,它工作時,執行不tran
。
我認爲很明顯,對一個特定的URL進行硬編碼並不是他正在尋找的東西。該解決方案是100%非通用的。他可能只是首先手動輸入該行。 –
謝謝,但給我一個錯誤,當我嘗試使用%的變量 http://%.domain.com/t/%%%/%。jpg /* SQL錯誤(1064):您的SQL語法有錯誤;檢查對應於您的MariaDB服務器版本的手冊,以獲得在'TRAN '附近使用的正確語法DELETE FROM table WHERE url <>'http://%.domain.com/t/%%%/%.jpg' '在第一行*/ – Joakim
@Joakim你正在使用MySQL和'BEGIN TRAN'只在MSSQL上工作,將更新MySQL – Mouser
我會建議使用substring_index()
:
update tablename
set Thumbs = substring_index(Thumbs, ';', 1)
where thumbs like '%;%';
此功能旨在提取分隔字符串的第一部分。
您可以組合2個字符串函數:INSTR()和SUBSTR()。更多信息可以在http://dev.mysql.com/doc/refman/5.0/en/string-functions.html找到。 –
這是一個長串嗎?還是多行?或者是什麼? –
一行中的一個長字符串稱爲table [tablename]中的大拇指,在那裏全部被分隔;並且只能保持行中的第一個值 – Joakim