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

Zend Db/Mysql-Selectで挿入

    私の解決策(Zendを使用)は、item_numberをクエリするのではなく、テーブルをロックし、結果を挿入クエリに追加し、テーブルを挿入してロックを解除することでした。ロックとロック解除の方法は次のとおりです。

    $sql = "LOCK TABLE items WRITE";
    $this->getAdapter()->query($sql);
    
    //run select to get last item_number
    //append result to insert array
    //insert
    
    $sql = "UNLOCK TABLES";
    $this->getAdapter()->query($sql);
    

    もう1つの方法は、挿入時に値が選択されるようにクエリを作成することです。次に例を示します:

    $sql = INSERT INTO items (item_id, item_family, item_name, item_number) 
                  VALUES (item_id, item_family, item_name, (SELECT item_number FROM... )+1);
    $this->getAdapter()->query($sql);
    

    この種のクエリの詳細については、 MySQLWeb>



    1. Mac上のPDOMySQLドライバー

    2. MySQLに改行を追加するINSERTINTOtext

    3. エラー:MySQL-データソースをVisual Studioプロジェクトに追加するときに、テーブル'mysql.proc'が存在しません

    4. MariaDBJSON関数