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

データベースエラー発生エラー番号:1062

    UPDATE 句はid_publisherを設定しています 列からNULL 、および、列の名前と受け取ったエラーに基づいて、それ 列はテーブルのPRIMARY KEY unsigned NOT NULLの設定で 。

    このため、id_publisher = NULLを実行すると 、MySQLはそれをid_publisher = 0に変換します unsignedが原因 部。これは最初は正常に実行されますが、2番目の行で実行すると、を挿入しようとします。 0の主キー値 、許可されていません。

    die()の場所に基づく サンプルコードのステートメントでは、次のブロックが原因であると想定しています。

       $data1 = array(
        'id_publisher' => $id_publis,
        'publisher' => $publis,
        'artis' => $ar,
        'id_label' => $id_lab);
    
        $this->db->where('id_publisher', $this->input->post('id'), $data);
        $this->db->update("t_publisher",$data1);
    

    ここで、$id_publis 変数は空またはnullです。

    id_publisher = NULLを削除することをお勧めします UPDATEの一部 'id_publisher' => $id_publis,を削除するのと同じくらい簡単な句 $data1から 配列、または実際にnullに設定する必要がある理由を再考してください そもそも(この場合、行を削除する方が有益でしょうか?)




    1. データベースを動的に選択する

    2. MySQLから整数列と数値列をPHPの整数と数値として返すにはどうすればよいですか?

    3. 今週までにMYSQLSelect

    4. ミリ秒単位の日付文字列にOracleto_date関数を使用する