ビューに追加・削除が出来ません。
皆さん、はじめまして。
今回業務mysqlでデータベースを作成することになりました。
ビューを用いて二つのテーブルに値の追加・削除・更新をしようと試みたのですが、追加、削除が上手くできませんでした。
mysqlのバージョンは5.0.37です。
今回以下のコマンドを実行しました。
1.<cwork1テーブル作成>
create table cwork1
(testname1 varchar(255),
testname2 varchar(255),
primary key(testname1))TYPE=INNODB;
primary key(id));
2.<cwork2テーブル作成>
create table cwork2
(r_name1 varchar(255),
yakusyoku varchar(255),
foreign key(r_name1) references cwork1(testname1) ON DELETE CASCADE ON UPDATE CASCADE
)TYPE=INNODB;
3.<cwork1テーブルに追加>
insert into cwork1(testname1,testname2) values('山田','太郎');
4.<cwork2テーブルに追加>
insert into cwork2(r_name1,yakusyoku) values('山田','一般');
5.<ビュー作成>
CREATE VIEW testview AS SELECT * FROM cwork1,cwork2 where cwork1.testname1=cwork2.r_name1;
この5つを実行後、
<insert実行>
insert into testview(testname1,testname2,yakusyoku) values('斉藤','花子','一般');
ERROR 1395 (HY000):Can not modify more than one base table through a join view 'sampledb.testview'
<delete実行>
delete from testview where testname1='山田';
ERROR 1395 (HY000): Can not delete from join view 'sampledb.testview'
というようにinsert、delete文実行時にエラーが帰ってきてしまいます。
原因がわかるかたがいらっしゃいましたらご教授のほうよろしくお願いします。
お礼
バージョンは、5.1になります。 1つ1つ実施してみます。ありがとうございました。