MYSQL 大小寫搜尋、修改

今天遇到的問題,將資料庫裡的某表某欄的某字改成小寫。
首先查看看如何找到是否有沒有符合的資料,
如果用平常的搜尋是查不到的
SELECT * FROM `table.name` WHERE `table.column_name` LIKE '%A%'
這樣它不分大小寫,都會查出來給你。
如果要查大寫或小寫,就要加上BINARY
SELECT * FROM `table.name` WHERE BINARY `table.column_name` LIKE '%A%'
這樣它就會只顯示大寫!

再來是修改它成小寫。
這時我們要用到MySQL裡面的內建函數LOWER()
UPDATE `table.name` SET `table.column_name` = LOWER( `table.column_name` )
這樣它就會把這個欄位的英文都改小寫囉!

如果只要改一個字呢?
這可就有點難度了!
首頁先用MySQL的內建函數SUBSTRING()
來分解這個欄位的字
然後再用LOWER()或UPPER()來修改讓字的大小寫
再使CONCAT()來組合這個欄位,
再使用UPDATE來修改資料
假如我們是abcdef六個字母
UPDATE `table.name`
SET `table.column_name` = CONCAT( SUBSTRING (`table.column_name`, 1, 5), UPPER(SUBSTRING (`table.column_name`, 6, 1)) )
這樣跑完之後會呈現
abcdeF

本來想要使用SET @var_name = expr
可是怎麼弄都弄不好,就放棄啦~
句子就變這麼長了!

FLASH 擋住了 HTML 選單

在FLASH的選項裡加上
<param name="wmode" value="transparent">

然後再對HTML選單使用
display:block;
position:absolute;
z-index:10;
 這樣選單就不會被FLASH蓋住囉!

參考來源

Apache2 VirtualHost

參考公爵的文章


假設localhost會看到本機端的www資料夾下的index
以及www.test.com會看到www/test資料夾下的index


首先,先在apache2/conf.d下產生virtual.cof文件


sudo gedit /etc/apache2/conf.d/virtual.conf


設定接收所有IP回應80埠


NameVirtualHost: *:80


設定資料夾讀取權限



<Directory /var/www>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


<Directory /var/www/test>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>



設定虛擬主機


<VirtualHost *:80>
    ServerName   www.test.com
    DocumentRoot   /var/www/test

</VirtualHost>


<VirtualHost *:80>
    ServerName   localhost
    DocumentRoot   /var/www

</VirtualHost>


重新啟動Apache2


sudo /etc/init.d/apache2 restart

MySQL table is read only

今天弄了一天,就因為這個
table is read only

為什麼會這樣吶~
我改了權限也不行
用了mysqladmin -u -p FLUSH TALBES WITH READ LOCK
也不行

最後看了到別人提到使用者和群組都要改成mysql
我就姑且一試,果然給我試成功了!

windows的mysql沒有權限的限制,但是linux有權限的限制。
把資料庫直接拷貝到linux底下會使檔案的權限及使用者改變。
不熟linux的我只好上網拼命查拼命試囉!

sudo chown -R mysql:mysql /var/lib/mysql/[database]
sudo /etc/init.d/mysql restart

Apache Rewrite on Ubuntu

啟動 mod_rewrite

sudo a2enmod rewrite


修改 /etc/apache2/apache2.conf


Allowoverride All



重啟 Apache2

接著在你要rewrite的資料夾下加入.htaccess

修改.htaccess

RewriteEngine on
Options +FollowSymLinks
RewriteBase
RewriteRule
...


存檔,完成