sql >> データベース >  >> RDS >> Mysql

php配列をmySqlに挿入します

    MySQLの「ファミリ」列はどのデータ型ですか?そのようなphp配列をMySQLに直接挿入することはできないと確信しています。可能であれば、それは私が知らなかったものの1つだと思います。試しました。

    これを行う最も簡単な方法は、php配列をJSON文字列にエンコードし、読み取り時にphp配列にデコードして戻すことです。

    $family = array();
    ...
    $familyJsonString = json_encode($family);
    ...
    $insertInfo = "INSERT INTO `family_info`.`info` 
                (`name`, `info`, `family`)
                VALUES (
                '$name', '$info', '$familyJsonString');";
    ...
    $queryString = "SELECT * FROM family_info WHERE name = '$someName'";
    $query = mysql_query($queryString, $connection);
    $familyData = mysql_fetch_assoc($query);
    $decodedFamilyArray = json_decode($familyData['family']);
    

    ここで、ファミリ列は、ファミリ配列の取得時間に応じて、varcharまたはテキストタイプにする必要があります。

    これを行うためのより堅牢な方法は、ファミリデータを格納するための別のテーブルを作成し、MySQLJOINステートメントを使用してfamily_infoテーブルの1つのエントリに関連付けられた値を取得することです。

    ここに結合に関するいくつかの情報があります

    不要な行を返さずに2つのテーブルを結合する

    http://dev.mysql.com/doc/refman/5.0 /en/join.html



    1. INSERTを機能させることができません

    2. SQLServerで同等の存在しない場合はCREATETABLE

    3. PowerShellを知る必要があるため

    4. TransactionScopeオブジェクトは、MySqlConnector for .NETを使用して完全にサポートされていますか?