You are here: 首頁 文章分類選單 資料庫心得

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

資料庫管理

解決XAMPP MYSQL 無法權限表損毀啟動問題

E-mail 列印 PDF

XAMPP 完全無法啟動,而且PORT沒有被佔用權限表損毀。

錯誤訊息:

上午 10:14:09  [mysql] Status change detected: stopped

上午 10:14:09  [mysql] Error: MySQL shutdown unexpectedly.

上午 10:14:09  [mysql] This may be due to a blocked port, missing dependencies,

上午 10:14:09  [mysql] improper privileges, a crash, or a shutdown by another method.

上午 10:14:09  [mysql] Press the Logs button to view error logs and check

上午 10:14:09  [mysql] the Windows Event Viewer for more clues

上午 10:14:09  [mysql] If you need more help, copy and post this

上午 10:14:09  [mysql] entire log window on the forums

 

解決辦法:

1.緊急模式啟動(修復權限表)MYSQL:

mysqld --defaults-file="D:/tools/xampp/mysql/bin/my.ini" --skip-grant-tables --console

2.新開一個命令提示符窗口,登錄 MySQL:

mysql -u root

3.執行修復命令:

USE mysql;

REPAIR TABLE db;

如果看到以下結果Msg_text 是 OK,代表修復成功!

+--------+----------+----------+----------+

| Table  | Op       | Msg_type | Msg_text |

+--------+----------+----------+----------+

| mysql.db | repair | status   | OK       |

+--------+----------+----------+----------+

 

相關網址:

https://chatgpt.com/c/68142bfc-2898-8001-8f3e-3d3ce5728083

https://chat.deepseek.com/a/chat/s/8e6ee391-79e6-463f-a28c-16d6051da98c

最近更新 ( 週五, 02 五月 2025 11:20 )
 
 

SQL的執行順序

E-mail 列印 PDF
這邊做一下備註
SELECT 陳述式的邏輯處理順序

下列步驟顯示 SELECT 陳述式的邏輯處理順序或繫結順序。這個順序決定何時將某一個步驟中定義的物件提供給後續步驟的子句使用。例如,如果查詢處理器可以繫結至 (存取) FROM 子句中定義的資料表或檢視表,則這些物件及其資料行就可供所有後續步驟使用。 反之,由於 SELECT 子句是步驟 8,因此之前的子句無法參考該子句中定義的任何資料行別名或衍生資料行。不過,後續子句 (例如 ORDER BY 子句) 可以參考這些資料行別名或衍生資料行。請注意,實際執行的陳述式是由查詢處理序所決定,因此順序可能與此清單有所不同。

  1. FROM
  2. ON
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. WITH CUBE 或 WITH ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

最近更新 ( 週三, 16 七月 2014 11:04 )
 
 

[mysql] SELECT 查詢 產生一個自動遞增的序號欄位 做批次更新

E-mail 列印 PDF

根據

[轉][MySQL] 如何用 SELECT 查詢 產生一個自動遞增的序號欄位

[轉][MYSQL]將查詢結果更新至資料表 UPDATE for SELECT

的範例來綜合寫出

  1. UPDATE
  2. pay AS A,
  3. (SELECT @s:=@s+1 as seq, id FROM pay, (SELECT @s:= 0) AS s ORDER BY  `pay`.`id` asc ) AS B
  4. SET A.`seq`=B.`seq`
  5. WHERE A.id=B.id
 

[轉][MySQL] 如何用 SELECT 查詢 產生一個自動遞增的序號欄位

E-mail 列印 PDF

本文轉自:i丹尼

 

因為要跑活動績分排行,而這個排行又是以某項欄位總和做排序 給績分,所以希望撈出的資料 在 SUM, GROUP 及 ORDER 後,還可以再依序給一個排行績分的欄位。

因為是持續三週的活動,且每天都有每日的績分排行(前20名的績分依序就是20,19,18...到1分),每週還有週排行,週排行就是將每個Player該週的績分加總排序即可。

所以用了一個活動資料表,來記錄每個玩家每日的績分:

 

[轉][MYSQL]將查詢結果更新至資料表 UPDATE for SELECT

E-mail 列印 PDF

轉貼自:http://idanny.blogspot.tw/2013/09/mysql-select.html

今天又學到一個 MySQL 新方法,原本就在找利用 SELECT 的結果 UPDATE 至資料表的方法,最後終於在 MySQL 官網中的回應裡找到了

  1. UPDATE
  2. `t1` AS A,
  3. (SELECT `b1`, COUNT(*) AS `total` FROM `t2` GROUP BY `c1`) AS B
  4. SET A.`a2`=B.`total`
  5. WHERE A.`a1`=B.`a1`


 
第 1 頁, 共 2 頁