2014年6月25日水曜日

MySQL:既存テーブルへ外部キーを追加する

<ALTER TABLEによるFOREIGN KEYの設定>

>> MySQL :: MySQL 4.1 リファレンスマニュアル :: 7.5.5.2 FOREIGN KEY 制約

【サンプル1】
-- 既存テーブル
CREATE TABLE `Foo` (
  `a_id` int(11) NOT NULL default '0',
  `b_id` int(11) NOT NULL default '0',
  `name` text,
  PRIMARY KEY  (`a_id`,`b_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


-- 外部キー追加
ALTER TABLE Bar
ADD FOREIGN KEY (`a_id`, `b_id`)
REFERENCES `Foo` (`a_id`, `b_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;

(メモ)
ON DELETE句やON UPDATE句にCASCADEを指定した場合は、
親テーブルに対して更新を行うと子テーブルで同じ値を持つカラムの値も合わせて更新されます。
また親テーブルに対して削除を行うと子テーブルで同じ値を持つデータが削除されます


-- 外部キー削除
ALTER TABLE Bar DROP FOREIGN KEY `Bar_ibfk_1`;
※ SHOW CREATE TABLE BarをしてFOREIGN KEYに自動的に割り当てられたKEYの名前(`Bar_ibfk_1`みたいなの)を予め調べる



【サンプル2】
-- 「T_02_1」表の「ID」列に対して、「T_01_1」表の「ID」列を外部キーとして設定します。
ALTER TABLE T_02_1 ADD CONSTRAINT FK_02_1A
FOREIGN KEY (ID)
REFERENCES T_01_1(ID);


以上。

2014年6月5日木曜日

WEBサイトのComboBox情報を取得するJavaScript

$('#db-dpt option').each(
function(){
console.log($(this).val() + ',' + $(this).text());
});

- 備考 -
赤RのHighwayBusの検索したい場合。
optionタグのValue値は、Val()で取得する。
Chromeからは、Consoleタブを選択して上記のソースを貼り付ける。

2014年6月2日月曜日

1行書き 不要なファイルを消す



/tmpにある、10分以上経過したファイルを消す。

find /tmp/ -type f -mmin +10 -exec rm {} \;