顯示具有 MySQL 標籤的文章。 顯示所有文章
顯示具有 MySQL 標籤的文章。 顯示所有文章

2011年6月23日 星期四

MySQL一個聰明的sql,當Record沒有增加,存在會更新

今天又學了新的技巧,
所以下班了就立刻上載上Blogger做好備份,
今天的又是一個聰明的sql,
可以說是昨天的進化版。
昨天的sql沒有才會加入Record,
不過今天就是加了新功能,
存在Record的會自動更新
代碼如下:

// INSERT代碼
INSERT INTO tabTesting (user, token)
VALUES ('$user', '$token')
// 關鍵所在ON DUPLICATE KEY,即是Column為Key時,加入的Data重複了就會運行以下代碼
ON DUPLICATE KEY
// Update代碼
UPDATE user='$user';

PS. 假如你的Table本身有了Primary Key Column哪怎辦?
其實你可以把你想做檢測Data的Column做成Unique Key,
SQL就會懂得幫你去檢測了 XD

2011年6月21日 星期二

MySQL一個聰明的sql,當Record沒有的時候才增加

今天幫Project做maintain,
發現同事寫的一行SQL代碼,我不太明白,
細問之下原來功用十分奇妙!!
學到新野,我梗係即時記下來,
就是insert時,當Record沒有的時候才insert一個新的,
大大簡化了一個Coding上的一大段檢測代碼。
代碼如下:

// insert command
insert into myfavorite (songname,songid,singername,singertype)
// select command用作制造一個visual record
select 'MAKE IT REAL','G023203','(null)',0
// where用作檢測not exists的結果
where not exists
(
    // select相同的table,record存在就return 1,不存在為NULL
    select 1 from myfavorite
    where songid = 'G023203'
);

2011年5月22日 星期日

MySQL﹣一行SQL可以把別的Table內容加到當前Table中

今天錯手刪了公司DB中一個重要得Table內容,
我即時向上司回報,
幸好哪Table是Match用的Table,
上司即時教我把Data由別的Tablel中Recove,
真是有驚無險

INSERT INTO MatchTable ( id, index )
SELECT  OtherTable.id, OtherTable.index
FROM OtherTable
WHERE state=1;

2009年9月29日 星期二

PHP 獲取 MySQL UTF-8 文字亂碼解決方法

最近寫網頁,
發覺用PHP獲取 MySQL UTF-8 文字時,
總是亂碼或問號,
最後在朋友的幫助下才解決

以下是解決方法 :

"連結MySQL PHP文件內"
<?php
$db = mysql_connect($dbAddr, $dbAcc, $dbPass)
or die('Could not connect: ' . mysql_error());
mysql_select_db($dbName, $db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
?>


"html / PHP 文件內"




"MySQL 內設定"
MySQL 文字編碼: UTF-8 Unicode (utf8)

Table內的Charset可以不同

"html / PHP 文件內有PHP String還要加入以下代碼"
<?php
header ('Content-type: text/html;
charset=big5');
?>