私は、movie_genre と movie_country と共に映画を保存する MySql に基本的なデータベースを持っています。データベースに保存するときは、C# を使用します。次のようにします。
Create Connection;
Open Connection;
Insert Movie(mTitle, mYear);
MovieID = LastInsertedID;
ForEach s in ListofGenres
Insert Movie_Genre(MovieID, s);
Close Connection;
C# では、リストを簡単に反復処理して、その番号を格納するだけです。今、データを受け取り、それに応じて処理するストアド プロシージャを作成しようとしています。問題は、次のようなものをどのように渡すことができるかです:
//C#
CALL insertMovie(mTitle(string), mYear(string), mGenre(Array? List? concatString?))
//MySQL
Procedure insertMovie(mTitle varchar, mYear varchar, mGenre(Array? List? concatString?))
Insert into movie(mTite, mYear);
Declare id int;
Select last_inserted_id() into id; //No idea beyond this point
Loop
Insert into movie_genre(id, mGenre[i]);
ある種のデータ配列を渡す方法はありますか? 文字列でなければならない場合、文字列から上記のエントリ数を取得し、それぞれを関係に保存するにはどうすればよいですか? 連結された文字列内から各関係文字列を取得する方法はありますか? それとも今のシステムのままでいいのでしょうか?たくさんの俳優や監督などを追加すると、これは遅くなります。