

PHPとMySqlでプログラムしています。

$data配列には、id（一意）,dateが入っています。  
このデーターをMySQLのテーブルに挿入していきます。

MySQLには、すでに同じdateが入っていたら、その$dataを除外して、MySQLにデーターをinsertしたいとします。

シンプルに配列とMySQLテーブルのデーターを比較する方法があったら、ご教示ください。


CC BY-SA 3.0
2017-04-09T17:27:58.063
33891
2017-05-11T02:58:02.803
20577
question
php mysql sql
SQLとPHP配列を比較する


一位のキーを用いて作成、更新が同時にできるものは下記のが用意されています。

[code]

    INSERT INTO table (a,b,c) VALUES (1,2,3)
      ON DUPLICATE KEY UPDATE c=c+1;
    
[/code]

<https://dev.mysql.com/doc/refman/5.6/ja/insert-on-duplicate.html>

既に存在している場合は、更新項目を日付などにして更新するか、既存のデータを上書きする形で行うことができます。データの更新がない場合は実際に更新は走らないので高速でもあります。


CC BY-SA 3.0
2017-04-24T15:28:21.940
34250
2017-04-24T15:28:21.940
22763
33891
answer


データをselectして持ってきてからの比較が一番簡単かと思います。

[code]

    select date from table_name;
    
[/code]

配列にして取得してからinsertですね。

insert into .... duplicate key
updateを利用する場合は、もっと簡単で更新対象を更新日とかにすればデータは更新されず済みます。


CC BY-SA 3.0
2017-05-10T13:57:10.293
34610
2017-05-11T02:58:02.803
2017-05-11T02:58:02.803
3054
22763
33891
answer