–safe-updatesオプションを指定してDBに接続すると、プライマリーキーを
指定しないとUPDATEやDELETEなどの更新クエリーを実行出来ないように
するオプションです。WHERE句を忘れてデータすべて変更してしまったなど
と焦らないようにする為に良いかもしれません。

[root@colinux mysql5130]# mysql -u root -p --prompt="\u@\h-DB:\d>" --safe-updates
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.30 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

root@localhost-DB:(none)>use test
Database changed
root@localhost-DB:test>show tables;
+----------------+
| Tables_in_test |
+----------------+
| T1             |
+----------------+
1 row in set (0.00 sec)

root@localhost-DB:test>select * from T1;
+----+------------+-------------+
| id | name       | comment     |
+----+------------+-------------+
|  1 | SHOW WARIN | 1111111     |
|  2 | SHOW WARIN | 22222222222 |
+----+------------+-------------+
2 rows in set (0.00 sec)

root@localhost-DB:test>

root@localhost-DB:test>update T1 set comment="test update";
ERROR 1175 (HY000): You are using safe update mode and you tried to update a tab
le without a WHERE that uses a KEY column
root@localhost-DB:test>update T1 set comment="test update" where id = 1;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

root@localhost-DB:test>select * from T1;
+----+------------+-------------+
| id | name       | comment     |
+----+------------+-------------+
|  1 | SHOW WARIN | test update |
|  2 | SHOW WARIN | 22222222222 |
+----+------------+-------------+
2 rows in set (0.00 sec)

root@localhost-DB:test>

※primaryキーを指定しないと更新出来ないので、ある程度まとまったデータ
を更新する場合は、BEGIN TRAN ~ COMMIT TRAN/ROLLBACK TRAN
などで処理を戻せるようにする事で対応する事も可能ですね。


MYSQL接続時にプロンプトを変更して自分の接続を状態を把握。

通常接続

[root@colinux mysql5130]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.30 MySQL Community Server (GPL)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

PROMPTを変更して接続状態をわかり易くした場合

[root@colinux mysql5130]# mysql -u root -p –prompt=”\u@\h-DB:\d>”
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.30 MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

root@localhost-DB:(none)>use test
Database changed
root@localhost-DB:test>

MYSQL PROMPT

MYSQL PROMPT


SQLコマンドを実行していて、WARNINGが出た場合に警告を確認する方法。

①テストテーブル作成

CREATE TABLE `T1` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(10),
`comment` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
;

②検証用にデータをINSERTしてみる。

mysql> insert into T1(name,comment) values(‘SHOW WARINING’,’1111111′);
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> show warnings;
+———+——+——————————————-+
| Level   | Code | Message                                   |
+———+——+——————————————-+
| Warning | 1265 | Data truncated for column ‘name’ at row 1 |
+———+——+——————————————-+
1 row in set (0.00 sec)

mysql> select * from T1;
+—-+————+———+
| id | name       | comment |
+—-+————+———+
|  1 | SHOW WARIN | 1111111 |
+—-+————+———+
1 row in set (0.00 sec)

③ –show-warningsオプション付きで接続してみる。

[root@colinux ~]# mysql -u root -p –show-warnings
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.30 MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use test
Database changed
mysql> insert into T1(name,comment) values(‘SHOW WARINING TEST’,’22222222222′);
Query OK, 1 row affected, 1 warning (0.01 sec)

Warning (Code 1265): Data truncated for column ‘name’ at row 1
mysql> select * from T1;
+—-+————+————-+
| id | name       | comment     |
+—-+————+————-+
|  1 | SHOW WARIN | 1111111     |
|  2 | SHOW WARIN | 22222222222 |
+—-+————+————-+
2 rows in set (0.00 sec)

mysql>


サイト管理者に便利なIEキャプチャーツール

自分で管理しているサイトの表示がおかしい?若しくは,他の人にサイトにアクセスせずにサイト情報
をシェアする為に使用可能です。(.htmに保存出来ないサイトもキャプチャー可能)
サイト管理者には結構便利で使えるツールだと思います。

http://www.craftec.co.jp/captureit/toolbar.html

 

capture.jpg