今天執行MySQL查詢得到一個「Got error 28 from storage engine」錯誤訊息,
至資料庫主機,檢視MySQL所使用的磁碟(D:\)空間是足夠的,
souts 發表在 痞客邦 留言(0) 人氣(1,088)
-- 停用FK
ALTER TABLE aspnet_UsersInRoles NOCHECK CONSTRAINT FK_XXX
souts 發表在 痞客邦 留言(0) 人氣(2,076)
今天在還原資料庫時,出現「備份組包含現有的 'XYZ' 資料庫以外的資料庫備份」錯誤訊息,
參考這個網頁進行修改,並執行下列內容。就可正常還原。
restore DATABASE XYZ
from disk='C:\XYZ.bak' -- 備份檔儲存位置
with
move 'ITWU' to 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\XYZ.mdf', -- MDF檔儲存位置
move 'ITWU_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\XYZ_log.ldf' -- -- LOG檔儲存位置
,NoRecovery
,Replace
go
souts 發表在 痞客邦 留言(0) 人氣(1,610)
今天在彙整資料時,需要多列合併為一欄,查了一下,MySQL 可以使用 GROUP_CONCAT 函數,
例如:現有一資料表A
id |
value |
context |
1 |
A |
產品1 |
2 |
A |
產品2 |
3 |
B |
產品3 |
4 |
C |
產品4 |
5 |
D |
產品5 |
6 |
D |
產品6 |
souts 發表在 痞客邦 留言(0) 人氣(3,801)
如果伺服器主機是在業主的所在位置時,我們在進行更新時,不會直接至伺服器主機進行更新,而是會將需更新的程式(.sql)的寄給業主,再進行更新,但有時我們在進行資料庫更新的執行時,如果要刪除或變更的物件不存在時,就會出現錯誤訊息,那時對業主解釋為何會出現錯誤訊息所花費的時間,比直接到伺服器主機進行更新的所花費的時間還多。
另外一種情況就是業主執行你所寄給他的資料庫更新程式(.sql)時,執行了二次以上,也會出現錯誤訊息,等到業主打電話給你說:「執行後有問題,檢查一下更新程是不是有問題」,你把更新的程式叫出來再三檢視,抓頭皮抓到出血,就是看不出那裡有問題,腦袋裡出現好幾種可能情況,怎麼想都不太可能會發生,所以想一想還是自己走一趟吧,這樣花費的時間又更多了,時間要花在有意義的地方,就算是上Yahoo看看新聞也比去業主的地方更新來的強。
所以現在在進行刪除物件的動作時,我都會加上檢查物件是否存在的語法。
souts 發表在 痞客邦 留言(0) 人氣(6,237)
今天要將MySQL啟動時,
出現1067的錯誤,
因為之前也有出現相同情形,
souts 發表在 痞客邦 留言(0) 人氣(839)
由於最近常有使用者提出系統"自動"變更資料或刪除資料,雖然覺得不太可能,但一直苦無證據,就在我要檢查原因時,使用者就已經先變更資料了,最後更新日期與變更人員這兩個欄位的資料都也已經不是當時的資料了,所以一直沒辦法證實是使用者自行變更,所以在系統中增加使用者如果操作Update、Delete的動作,便新增一筆變更前的資料至備份資料庫中這個功能。
我使用資料庫的觸發程序來進行相關的儲存,另外為了怕使用者說是我用他們的帳號去修改資料,所以也順便增加了紀錄IP的欄位,Update這個動作比較簡單,比較奇怪的是Delete這個動作,因為最新的資料都會在原來資料表中,所以在執行Delete動作前,要先執行一小段Update的敘述句,為的就是把最後一次編輯的資料儲存到備份資料表中,這樣才可知道最後的刪除者是那個使用者。
另外也有想過將要Delete的資料,開個欄位標記這筆資料已經刪除就好了,但考慮了一下之後,覺得這些資料如果沒有要用(還是要留下來備查)何通通擠在同一張資料表中呢?所以不考慮這個方式,底下是刪除敘述句(SqlDataSource->DeleteCommand):
souts 發表在 痞客邦 留言(0) 人氣(866)
如果所使用的密碼錯誤時,
就會出現 Access denied for user ‘root’@'localhost’ (using password:YES) 這個錯誤訊息,
提個笨點,
souts 發表在 痞客邦 留言(0) 人氣(6,102)
在上一篇中最後提到只要將本機參數(my.ini)修改為適用InnoDB即可,
但修改完後,
啟動MySQL服務時出現下列錯誤訊息(可以到儲存MySQL資料庫的資料夾內,找副檔名為err的檔案)
souts 發表在 痞客邦 留言(0) 人氣(4,718)
今天在測試MySql資料庫時,
將拿到的資料庫覆蓋原來資料庫,
重新啟動後,
發生1067的錯誤,
souts 發表在 痞客邦 留言(0) 人氣(11,911)