[mysql] 外鍵 Foreign Key 速查

當關聯父資料表的主鍵紀錄行被刪除或修改時,InnoDB 對子資料表中紀錄行的處理方式:
CASCADE – 會將有所關聯的紀錄行也會進行刪除或修改。
SET NULL –
會將有所關聯的紀錄行設定成 NULL
NO ACTION –
有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
RESTRICT –
 NO ACTION 相同。[……]

Read more

MIS WAMP手動安裝及設定教學 Apache2.4 + PHP7 for windows10

手動安裝 Apache2.4 + PHP7 for windows10

首先,我該選x64或x86安裝呢?

何謂 x64 和 x86,可閱讀下方網址文章,本篇不多做解釋
x86和x64到底有什麼差異?

注意 !!!

若安裝x64版本,PHP & Apache 都需要選擇x64版本,反之亦然

安裝 PHP7 for windows

PHP For Windows 官網

http://windows.php.net/

PHP For Windows 歷史版本 (官網)

本例下載 PHP 7.0 VC14 x64 Thread Safe

解壓縮至 PHP 的存放目錄
本例解壓縮至 C:php-7.0.10-Win32-VC14-x[……]

Read more

[SQL] MySQL to PostgreSQL 好痛轉移,SQL語法差異

換資料庫真的好機掰,會有一堆未知問題,見招拆招,紀錄於下

LIMIT OFFSET

/* MySQL */
SELECT * FROM abc WHERE status=1 ORDER BY create_time DESC LIMIT 0 , 10
/* PostgreSQL */
SELECT * FROM abc WHERE status=1 ORDER BY create_time DESC LIMIT 10 OFFSET 0

# UPDATE 不能加 ORDER BY and LIMIT
/* MySQL */
UPDATE abc SET aaa=1 WHERE id<=100 ORDER BY status DESC LIMIT 10

/* PostgreSQL */
/* 若有需求要用子句解決 */
UPDATE abc main SET aaa=1
FROM
 ( SELECT id FROM page_builder WHERE id<=100 ORDER BY status DESC LIMIT 10 ) sub
WHERE ma[……]

Read more

MySQL 判斷兩個時間區間是否重疊 Determine Whether Two Date Ranges Overlap

判斷兩個時間區間是否重疊



<?php

/* 判斷兩個時間區間是否重疊 */
/* that it is sufficient to say that the two ranges overlap */
WHERE (StartDate1 <= EndDate2) AND (StartDate2 <= EndDate1)

?>


http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap[……]

Read more

PHP SQL 篩選時間

需要用日期來篩選指定日期區間的資料,剛好看到艾倫郭寫的這一篇,用了BETWEEN我覺得還蠻好用的,此篇文章也寫了好幾種方式,十分受用~


若SQL Server裡的 table 裡有一個日期欄位,只會放日期,那麼您可以寫成
SELECT …. FROM xxx WHERE xxx=’2008/1/15′SELECT …. FROM xxx WHERE xxx BETWEEN ‘2008/1/15’ AND ‘2008/1/20’

若日期欄位有包含時間, 由於時間可能值為 2008/1/15 23:59:59.50 如果您想找 2008/1/15 這一天裡的所有記錄(不拘時間), 卻將篩選條件寫成
SELECT …. FROM xxx WHERE xxx=’2008/1/15′ –>會找不到符合的記錄
SELECT …. FROM xxx WHERE xxx BETWEEN ‘2008/1/15’ AND ‘2008/1/16’ –>會連 2008/1/16 的記錄也被找到
SELECT …. FROM x[……]

Read more

MySQL WHERE 等於 NULL 問題,=NULL會找不到的解決方案

/* 找不到 */
SELECT * FROM news WHERE class = NULL

/* 找不到 */
SELECT * FROM news WHERE class IN ( 0 , 1 , NULL )

/* 要這樣寫 */
SELECT * FROM news WHERE class IS NULL[……]

Read more

SQL GROUP BY SUBSTR 用分割字串來群組資料

有時候我們會用一定的規則來訂義產品編號
例如:

2014(年)+001(款號)+01(規格) = 
201400101(產品編號)
所以在列表中,其實我們是要顯示款列表,但不同規格其實還是同一款,大同小異,
此時我們會希望用款號來把相同款式的商品群組起來,秀一筆就好,GROUP BY可以搭配SUBSTR()來實現這效果,實際實作方式如下

product_id ( 產品編號欄 )
201400101
201400102
201400201
201400202
201400301
201400302
GROUP BY SUBSTR(product_id,5,3)

取出之產品編號 
201400101
201400201

201400301

參考
http://www.1keydata.com/tw/sql/sql-substring.html

[……]

Read more

SQL 繁體中文參考手冊 – 非常詳細 – 學SQL必備 – 教學必備

SQL 誰記得那麼多用法呀,當然要有一本參考手冊呀,

不管新手、老手都需要這玩意兒,快加入書籤吧
http://webdesign.kerthis.com/sql/

[……]

Read more