การกำหนดให้ MySQL ใช้ utf-8 เป็นค่า default

การกำหนดให้ MySQL ใช้ utf-8 เป็นค่า default สามารถทำได้โดยการแก้ไข /etc/my.cnf ดังนี้ [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set = utf8 collation-server = utf8_unicode_ci init-connect=’SET NAMES utf8′ character-set-server = utf8

MySQL: ย้ายข้อมูลระหว่างฐานข้อมูล

วิธีการง่ายๆ ในการย้ายข้อมูลระหว่าง  database สามารถทำได้ดังนี้ สร้างฐานข้อมูลใหม่ เช่น  new_database ใช้คำสั่ง mysqldump ดังนี้ #mysqldump -uroot -p old_database | mysql -uroot -p -D new_database

สิ่งที่ควรทำหลังจาก upgrade MySQL server

หลังจากทำการ upgrade MySQL server ควรจะใช้คำสั่งต่อไปนี้ #mysql_upgrade -uroot -p และ #mysqlcheck -uadmin -p –auto-repair –check –optimize –all-databases เพื่อตรวจสอบว่ามีปัญหาระหว่างการ upgrade หรือไม่ เนื่องจากผมเจอปัญหาที่ดูเหมือนว่าฐานข้อมูลหายไป เมื่อตรวจสอบแล้วก็พบว่าฐานข้อมูลยังอยู่ แต่ถูกเติมข้างหน้าด้วย #mysql50# If you have databases or tables from a version of MySQL older than 5.1.6 that contain special characters and for which the underlying directory names or file names have not been updated … อ่านต่อ …

InnoDB กับ Lock wait timeout exceeded!

ผมใช้ innoDB  ใน MySQL แล้วเจอข้อความ error นี้ Lock wait timeout exceeded; try restarting transaction วิธีแก้ปัญหาที่ทำตอนนี้คือเปลี่ยนกลับไปใช้ MyISAM เหมือนเดิมก่อน

Set MySQL Auto Increment Manually

ในกรณีที่ต้องการกำหนดค่า auto increment ใหม่ สามารถทำได้ตามรายละเอีดข้างล่างนี้ I have a database table with a auto increment column for primary key. As the records being add and delete many times, the auto increment value will keep increasing. Problem One: If I have entered 10 records, and deleted 9th, 10th records. The next auto increment value will be 11, … อ่านต่อ …

MySQL Rank

ตัวอย่าง Query การจัดลำดับของข้อมูล SET @rank=0; SELECT @rank:=@rank+1 AS rank, id, name, subject FROM mca ORDER BY id DESC; ที่มา: http://www.roseindia.net/sql/mysql-example/mysql-rank.shtml

ค้นหาค่า auto_increment ของ table ด้วย MDB2

        $sql = “SHOW TABLE STATUS LIKE ‘table_name'”;         $res = $mdb2->query($sql);         if (PEAR::isError($res)) {             die($res->getMessage());         }         $result = $res->fetchRow();         $next_id = $result[‘auto_increment’];

ภาษาไทยกับ PHP และ MySQL

UTF-8 เป็นคำตอบสุดท้่าย เพื่อให้การใช้ภาษาไทยกับ PHP และ MySQL ใช้งานได้อย่างสมบูรณ์ การสร้างฐานข้อมูลใน MySQL ให้ตั้งค่าดังต่อไปนี้ Default CHARSET = utf8 COLLATE = utf8_unicode_ci ตัวอย่างเช่น CREATE TABLE brand ( pk_brand int(5) NOT NULL auto_increment, brand varchar(250) collate utf8_unicode_ci NOT NULL, brand_logo varchar(200) collate utf8_unicode_ci NOT NULL, website varchar(200) collate utf8_unicode_ci default NULL, PRIMARY KEY  (pk_brand) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; แล้วทำไมจึงไม่ใช้ utf8_general_ci?  … อ่านต่อ …

PHP5 กับ MySQL bug?

หลังจากที่ผมได้ทำการติดตั้ง Apache 2.0.50 กับ PHP5 ไปแล้ว ทุกอย่างก็เหมือนจะทำงานได้ดีจนกระทั่ง ผมจะเพิ่ม extension ของ php_mysql.dll เพื่อให้ PHP สามารถติดต่อกับ MySQL ได้ ปรากฎว่าทำยังไงก็ไม่สามารถเพิ่ม mysql extension ได้ และจะเกิดข้อความ error แบบตัวอย่างข้างล่างนี้แหละ ซึ่งทำให้งง เพราะไฟล์มันก็อยู่ถูกที่แล้ว ลองกี่ทีๆ ก็เหมือนกัน ข้อความเขียนไว้ว่า PHP Startup: Unable to load dynamic library ‘d:program filesphpextphp_mysql.dll’ – The specified module could not be found. เลยลองเข้าไปหาดูในเว็บ พบว่ามีคนโวยวายไว้ที่นี่เหมือนกัน http://bugs.php.net/bug.php?id=29224 ผมลองทำตามที่เขาเขียนไว้ แต่ก็ไม่ได้ผล ก็เลยลองใหม่ สิ่งที่ผมทำก็คือ 1. แก้ไข php.ini … อ่านต่อ …