* 動作確認方法

* 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

更新、検索とも正しく動作した。
