//編輯發現問題。我將所有類型從文本更改爲varchar。現在它工作正常。SQL連接返回none值
我有一個名爲 「聲音」 表看起來像這樣:
ROWID類型爲int(11)| userID type text | name type text | soundfile type text
1 | 「mod001:02」| 「吉米」| 「音樂/ Song.mp3的」
和一張桌子稱爲 「soundlist」 它看起來像這樣:
soundID類型爲int(11)| name type text | soundfile type text | 已使用類型tinyint(1)
1 | 「topSong」| 「music/song.mp3」| 1個
我的問題是,當我運行此查詢
SELECT *
FROM sounds
INNER JOIN soundlist
ON STRCMP(soundlist.soundfile, sounds.soundfile) = 0
WHERE STRCMP(sounds.userID, "mod001:02") = 0;
我得到一個空的結果!
我的目標是將「soundlist.used」設置爲0.我只給出了「sounds.userID」。 我目前使用此查詢:
UPDATE soundlist
INNER JOIN sounds
ON STRCMP(sounds.userID, "mod001:02") = 0
SET soundlist.used = 0
WHERE STRCMP(soundlist.soundfile, sounds.soundfile) = 0;
只是使用更新,如果你想改變單個表的值??? – 2014-10-03 13:38:53
爲什麼你不加入rowid = soundid – Mihai 2014-10-03 13:38:53
你使用的是什麼版本的MySQL? – Mureinik 2014-10-03 13:41:42