国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

mysql 插入多行時結(jié)構(gòu)不一致

編程小白

問題描述

如何插入多行數(shù)據(jù)時,插入的數(shù)據(jù)結(jié)構(gòu)不一致?

insert([
    ['email' => 'taylor@example.com', 'votes' => 0],
    ['email' => 'dayle@example.com', 'votes' => 0,'name'=>'test']
]);
1176 3 0
3個回答

tanhongbin

這種情況你要處理一下數(shù)據(jù),給默認(rèn)值,查出來所有的字段,然后再循環(huán)判斷一下,如果沒有這個字段給一個默認(rèn)值,就ok了

  • 編程小白 2023-04-11

    ??????,好像確實只能這樣了

  • tanhongbin 2023-04-11

    沒啥特別好的辦法

  • 編程小白 2023-04-11

    public static function completeData($arr){
    $keys = array_keys(array_reduce($arr, function($carry, $item) {
    return array_merge($carry, $item);
    }, []));
    foreach ($arr as &$item) {
    $item = array_merge(array_fill_keys($keys, null), $item);
    }
    return $arr;
    }

    最終我這樣寫了

liuyan814

可以考慮用think-orm,挺好用的。

不敗少龍

就要看你不傳的字段是不是必傳參數(shù)了

  • 編程小白 2023-04-11

    前端傳過來的字段不確定??

  • 不敗少龍 2023-04-11

    那表里面的必填字段 改成非必填就不會出現(xiàn)問題(除了ID)

  • 編程小白 2023-04-11

    PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 3

    保這個錯

  • 不敗少龍 2023-04-11

    是不是有不存在的字段哦

  • 編程小白 2023-04-11

    我現(xiàn)在是循環(huán)了一次,給了默認(rèn)值
    insert([
    ['email' => 'taylor@example.com', 'votes' => 0,'name'=>NULL],
    ['email' => 'dayle@example.com', 'votes' => 0,'name'=>'test']
    ]);

  • 不敗少龍 2023-04-11

    插入值與列數(shù)據(jù)不匹配

  • 編程小白 2023-04-11

    字段是動態(tài)添加的??

年代過于久遠(yuǎn),無法發(fā)表回答
??