close

標題:

MySQL 修改語法

發問:

UPDATE Scledule Set SeriesID=12345 and EpisodeNumber=789 where SeriesID=12345 and EpisodeNumber=456 這個語法會發生什麼事情阿? 是SeriesID=12345 and EpisodeNumber=456 會變成 SeriesID=12345 and EpisodeNumber=789嗎? 還是其他的結果 這個語法有錯嗎? 請大家幫幫我!謝謝!!! 更新: 我本來是想這樣改的 但是不行 因為我執行我寫的那個語法後,SeriesID=12345 and EpisodeNumber=456下面的資料就不見了~ 也沒有改列到SeriesID=12345 and EpisodeNumber=789的下面 我要怎麼救回來 更新 2: 一, 您有記錄有哪幾筆資料是在SeriesID=12345 and EpisodeNumber=456之下, 然後自己手動或下 command 改回. 一個是我找不到 SeriesID=12345 and EpisodeNumber=456之下的資料 所以我無法手動改回來 感覺上是我下了那個指令之後 下面的資料被移到我不知道的地方 又如果 要用command 改回來 指令應該怎麼寫?? 謝謝! 更新 3: 我一筆一筆回去找 發現我下的那個指令 造成資料"不見" 我是又手動一筆一筆改了 我有疑問,是我下的指令錯誤,造成資料消失嗎? 但是錯誤的指令,不是會無法輸入嗎? 謝謝! 更新 4: 喔喔~那我懂了 只能一筆一筆就回來~~ 謝謝!!! 太感激了!

 

此文章來自奇摩知識+如有不便請留言告知

最佳解答:

可以修改成底下的語法試試 UPDATE Scledule Set EpisodeNumber='789' where SeriesID='12345' and EpisodeNumber='456' 應該可以把 SeriesID='12345' and EpisodeNumber='456' 的所有資料列改為 SeriesID='12345' and EpisodeNumber='789' 2009-04-15 13:48:40 補充: 要救回原來的資料, 一般有兩種方法. 一, 您有記錄有哪幾筆資料是在SeriesID=12345 and EpisodeNumber=456之下, 然後自己手動或下 command 改回. 二, 您有 MySQL 之前的備份資料, 再 restore 回去..... 2009-04-15 14:21:22 補充: 可能是剛剛的補充說明寫得語意不清, 剛剛的第一種方法, 應該是要改為 一, 您有記錄有哪幾筆資料是在SeriesID=12345 and EpisodeNumber=456之下, 然後在 phpmyadmin自己手動或下 update 語法將資料改回. 且因為 MySQL 似乎不支援 rollback, 所以在您無法確認原始資料的狀態下, 應該只剩資料庫 restore 一途. 萬一您又沒有之前的資料庫備份, 那就麻煩了........因為只能靠人工把資料一筆一筆找出, 並且手動去將資料調回在 SeriesID=12345 and EpisodeNumber=456之下 2009-04-15 16:55:16 補充: 當您所下的 command 不被 MySQL 接受且產生錯誤訊息時, command 是不會被資料庫所執行; 但若沒有產生錯誤訊息, 代表您下的 command 是符合資料庫的命令格式 (但其命令的執行結果, 不見得和您所想的一樣), 所以資料庫是會執行您下的 command.

其他解答:5C926699F268FE02

arrow
arrow
    創作者介紹
    創作者 gpjqem1 的頭像
    gpjqem1

    gpjqem1的部落格

    gpjqem1 發表在 痞客邦 留言(0) 人氣()