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

データベースにすでに存在するシリアル化された文字列を追加する方法

    テーブルの行から列を読み取る必要があります。 PHP変数にシリアル化を解除してから、新しいオカレンスを追加します。

    次に、新しいアレイをシリアル化し、データベースに保存し直します

    // SELECT from table
    $s = 'a:7:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;}';
    
    $d = unserialize($s);
    
    print_r($d);
    
    $d[] = 99;
    print_r($d);
    
    $s2 = serialize($d);
    echo $s2;
    
    // UPDATE table row
    

    結果

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
        [6] => 7
    )
    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
        [6] => 7
        [7] => 99
    )
    a:8:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:99;}
    



    1. 順序がwhere句と異なる場合にファイルソートを回避する方法はありますか?

    2. oracle10gプロシージャからunixコマンドを実行できますか

    3. 次のステートメントが完了するまで、CTE削除はコミットされません

    4. 初心者向けのSQLCOALESCE関数を使用したNULL値の効果的な処理