* 動作確認方法 * MySQLバインディングを用いた動作確認例 ** mysqlクライアント起動 # mysql -u root mysql> 起動したことを確認。 ** データベース作成 mysql> create database senna_test; データベース作成されたことを確認。 mysql> show databases; +--------------+ | Database | +--------------+ | mysql | | senna_test | | test | +--------------+ 3 rows in set (0.00 sec) ** テーブルの作成 以下のテーブルをsenna_testに作成 use senna_test; CREATE TABLE table01 ( id INT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY(id), title VARCHAR(255), body TEXT, FULLTEXT(body) ); ** INSERTの確認 以下のようなファイル(insert_to_table)から、table01にレコード登録 use senna_test; INSERT INTO table01 VALUES (NULL, "衆院選挙について", "皆さんははどの党に投票するのでしょうか"), (NULL, "果物", "apple リンゴ、orange オレンジ"), (NULL, "歌", "わくわくさせてよ、ついてるねのってるね"), (NULL, "MySQL", "MySQLリファレンスマニュアルを全部読め"), (NULL, "ロボットのgood designとは", "先週末に開催された GoodDesignPresentation 2005"); # mysql -u root < insert_to_table ** 全文検索WHERE MATCHの確認 以下のようなファイル(search)から、検索動作を確認。 use senna_test; SELECT * FROM table01 WHERE MATCH(body) AGAINST('投票'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('投票する'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('apple'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('リンゴ'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('わくわく'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('gooddesign'); SELECT * FROM table01 WHERE MATCH(body) AGAINST('読め'); # mysql -u root < search 英語、日本語とも検索できた。 ** UPDATEの確認 以下のようなファイル(upd_and_search)からレコードの更新と検索の動作を確認。 use senna_test; UPDATE table01 SET body = 'wakuwakusaseteyo,ついてるねのってるね' WHERE id = 3; SELECT * FROM table01 WHERE MATCH(body) AGAINST('wakuwaku'); UPDATE table01 SET body = 'わくわくさせてよ、ついてるねのってるね' WHERE id = 3; SELECT * FROM table01 WHERE MATCH(body) AGAINST('わくわくさせてよ'); UPDATE table01 SET body = 'グッドデザイン' WHERE id = 5; SELECT * FROM table01 WHERE MATCH(body) AGAINST('グッドデザイン'); UPDATE table01 SET body = 'good design 2005' WHERE id = 5; SELECT * FROM table01 WHERE MATCH(body) AGAINST('design'); UPDATE table01 SET body = 'read mysql reference manual' WHERE id = 4; SELECT * FROM table01 WHERE MATCH(body) AGAINST('manual'); # mysql -u root < upd_and_search 更新、検索とも正しく動作した。