|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
bjour, voila j'ai en fait un champ contenant une date (2006-09-08 15:58:36) .
Je voudrais que en faisant un UPDATE, ca soustrait un jour de la date. J'ai vu qu'il existait l'attribut SUBDATE, mais je ne vois pas trop la syntaxe combiné au UPDATE. Pouvez vous me dire quelle serait la commande exacte pour soustraire d'un jour mon champ 'last' de la table user_rss ? merci d avance de votre aide. UPDATE last SUBDATE (last, INTERVAL 1 DAY) FROM `user_rss`; |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
![]() Je suis pas certain mais ... voici ton bonheur : Les petits papiers de SQLPro - Traitements temporels en SQL.
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
Re,
merci du lien trotters mais a priori, le petit SUBDATE suffirait pour faire ce que je souhaite. Qui l'as deja utilisé et pourrais me dire quelle syntaxe adopter avec le UPDATE please ? |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Ceci ? Code :
__________________
"Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément." Nicolas Boileau "Expliquer empêche de comprendre si cela dispense de chercher" Quiz Oracle : venez tester vos connaissances ! |
||
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
lu Xo,
j'ai tenté cela, (pour appliquer la maj a tout les ID de la table) : Code :
UPDATE phplist_user_rss SET last = SUBDATE ('last', INTERVAL 1 DAY); mais msg d erreur de syntaxe : Code :
|
||
|
|
00
|
|
|
#6 | |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Citation:
__________________
Pensez au bouton
|
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
car j'ai essayé sans, et ca ne marchait pas, donc j'ai essayé avec, tout comme PhpMyAdmin le fait...mais NON ca ne vient pas de la :/
argh quelqu un aurait une autre idée ou une autre syntaxe a proposer ? |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
ça n'a peut-être rien à voir mais tu devrais changer le nom de ton champs LAST et mettre DERNIER plutôt au moins tu seras sur qu'il ne le prend pas comme un mot réservé.
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
lo non testé et meme soucis d erreur de syntaxe :/
C QUOI QUI NE VA PAS DANS CETTE REQUETE ENFIN ! ? Code :
UPDATE phplist_user_rss SET last = SUBDATE (last, INTERVAL 1 DAY); |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
2 choses :
tu as essayé en faisant ta requête sur un tuple précis (en spécifiant avec un WHERE par exemple) tu as essayé en encadrant ton 1 de simples côtes ('1')
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#11 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Il faut procéder par étapes.
D'abord essaie juste un SELECT SUBDATE (last, INTERVAL 1 DAY); (ou DATE_SUB qui est plus courant)...
__________________
Pensez au bouton
|
|
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
hum..j'ai essayé donc :
Code :
DATE_SUB('last', INTERVAL 1 DAY) NULL et la date ne change pas :/ j'ai un champs "last", de type datetime, avec la valeur "2006-09-11 09:56:25". |
||
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
Tu es allé voir sur le site officiel de MySQL à la rubrique Date, il parle justement des DATE_SUB mais eux ils l'utilise sur un champ type DATE (il n'y a pas l'heure donc peut-être que ça influe).
Sinon sur le lien que je t'ai donné au début(http://sqlpro.developpez.com/cours/gestiontemps/#L1.2.3)il fait des exemples en utilisant des opérateurs numériques Citation:
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
|
00
|
|
|
#14 | |||
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Citation:
Tu n'es pas obligé de recopier texto les c....ries que je te donne, essaie de raisonner aussi par toi-même
__________________
Pensez au bouton
|
|||
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
Rebonjour, alors j'ai donc reussi a afficher mon champs "date", avec la valeur J-1, avec cette requete :
Code :
SELECT DATE_SUB(last, INTERVAL 1 DAY) FROM `phplist_user_rss`; J'essaie donc maintenant de modifier ce champs date pas sa valeur soustrait d' 1 jour : table : phplist_user_rss champ : last Code :
UPDATE `phplist_user_rss` SET last = DATE_SUB(last, INTERVAL 1 DAY) FROM `phplist_user_rss` WHERE userid=85 ; #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `phplist_user_rss` SET last = DATE_SUB( last, INTERVAL Avez vous une idée de ce qui ne va pas dans la syntaxe ? Merci d'avance de votre aide. |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : juin 2005 Messages : 164 ![]() |
résolu :
Code :
UPDATE phplist_user_rss SET last = DATE_SUB(last, INTERVAL 1 DAY); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com