par
josse34 » 04 déc. 2013, 16:22
Bonjour!
J'ai une table crée de cette façon :
Code : Tout sélectionner
"CREATE TABLE IF NOT EXISTS `proddata` (date DATE, heure TIME, prod INT, PRIMARY KEY(date, heure));"
Les données sont typiquement comme cela :
date - heure - prod
2013-11-27 - 10:09:08 - 578
2013-11-27 - 12:11:10 - 965
2013-11-27 - 15:14:13 - 123
J'ai deux besoins en insertion avec on duplicate key (ou autrement!) :
- La première étant de n’insérer qu'une seule valeur par jour, ainsi je souhaite comparer selon la colonne DATE. En gros si j'envoi 2013-11-27 - 10:09:08 - 578 puis 2013-11-27 - 12:11:10 - 965 je n'aurais dans ma table que la dernière saisie, à savoir 2013-11-27 - 12:11:10 - 965.
La seconde étant d’insérer autant de valeur par jour que nécessaire, ainsi je souhaite comparer selon la colonne DATE mais également HEURE. En gros si j'envoi 2013-11-27 - 10:09:08 - 578 puis 2013-11-27 - 12:11:10 - 965 j'aurais dans ma table toutes les lignes puisque à des horaires différents, à savoir 2013-11-27 - 10:09:08 - 578 et 2013-11-27 - 12:11:10 - 965.
Je ne sais pas comment faire ces deux systèmes, j'obtiens à chaque fois des doublons pour mon premier besoin, exemple :
Code : Tout sélectionner
$stmt = $pdo->prepare('INSERT INTO `proddata` (date, heure, prod) VALUES (str_to_date('.$date.',\'%Y%m%d\'), '.$heure.', '.$texte[1].') ON DUPLICATE KEY UPDATE date = VALUES(date)');
$stmt->execute();
Merci pour votre aide!!!!
Bonjour!
J'ai une table crée de cette façon :
[code]"CREATE TABLE IF NOT EXISTS `proddata` (date DATE, heure TIME, prod INT, PRIMARY KEY(date, heure));"[/code]
Les données sont typiquement comme cela :
[quote]date - heure - prod
2013-11-27 - 10:09:08 - 578
2013-11-27 - 12:11:10 - 965
2013-11-27 - 15:14:13 - 123[/quote]
J'ai deux besoins en insertion avec on duplicate key (ou autrement!) :
[list][b]La première[/b] étant de n’insérer qu'une seule valeur par jour, ainsi je souhaite comparer selon la colonne DATE. En gros si j'envoi 2013-11-27 - 10:09:08 - 578 puis 2013-11-27 - 12:11:10 - 965 je n'aurais dans ma table que la dernière saisie, à savoir 2013-11-27 - 12:11:10 - 965.
[b]La seconde[/b] étant d’insérer autant de valeur par jour que nécessaire, ainsi je souhaite comparer selon la colonne DATE mais également HEURE. En gros si j'envoi 2013-11-27 - 10:09:08 - 578 puis 2013-11-27 - 12:11:10 - 965 j'aurais dans ma table toutes les lignes puisque à des horaires différents, à savoir 2013-11-27 - 10:09:08 - 578 et 2013-11-27 - 12:11:10 - 965.[/list]
Je ne sais pas comment faire ces deux systèmes, j'obtiens à chaque fois des doublons pour mon premier besoin, exemple :
[code]$stmt = $pdo->prepare('INSERT INTO `proddata` (date, heure, prod) VALUES (str_to_date('.$date.',\'%Y%m%d\'), '.$heure.', '.$texte[1].') ON DUPLICATE KEY UPDATE date = VALUES(date)');
$stmt->execute();[/code]
Merci pour votre aide!!!!