Requete correcte qui ne marche pas.
Profil bloqué
-
Profil bloqué -
Profil bloqué -
Bonjour,
J'ai une requete qui est correcte mais qui ne fonctionne pas. la voici :
UPDATE 'marketplace_ads' SET published = 0 WHERE 'date_created'< DATE_SUB( '2010-04-27', INTERVAL 10 DAY)
Dans ma base j'ai plusieurs enregistrements qui ont comme valeur dans : date_created --> 2010-04-26
Pourquoi est-ce que l'udpate ne se fait pas (je n'ai aucun erreur de syntaxe), sa me mets que sa a mis à jour 0 enregistrements.
J'ai une requete qui est correcte mais qui ne fonctionne pas. la voici :
UPDATE 'marketplace_ads' SET published = 0 WHERE 'date_created'< DATE_SUB( '2010-04-27', INTERVAL 10 DAY)
Dans ma base j'ai plusieurs enregistrements qui ont comme valeur dans : date_created --> 2010-04-26
Pourquoi est-ce que l'udpate ne se fait pas (je n'ai aucun erreur de syntaxe), sa me mets que sa a mis à jour 0 enregistrements.
7 réponses
-
-
-
La requête UPDATE 'marketplace_ads' SET published = 0 WHERE 'date_created'< DATE_SUB( '2010-04-27', INTERVAL 10 DAY) est censée modifier les marketplace dont la date de création est antérieure au 17 avril 2010.
A mon avis, il n'y a aucun enregistrement correspondant à ce critère dans tes tables. MySQL n'a donc aucune entrée à modifier. -
Voici le contenu de ma table (une ligne par exemple ) :
INSERT INTO 'marketplace_ads' ('id', 'category', 'userid', 'user', 'name', 'surname', 'street', 'zip', 'city', 'state', 'country', 'phone1', 'phone2', 'email', 'web', 'ad_type', 'ad_headline', 'ad_text', 'ad_condition', 'ad_price', 'ad_image', 'date_created', 'date_lastmodified', 'views', 'duration', 'flag_featured', 'flag_top', 'flag_commercial', 'payment', 'published') VALUES (40, 12, 77, 'aaaaaaaaa', 'aaaaaaaaa', '', '', '', '', '', '', '', '', 'ttttttt@gmail.com', '', '4', 'rrrrrrrrrrrrr', 'rrrrrrrrrrrrrrrrrrr', '', '', 0, '2010-04-26', '2010-04-26', 0, 30, 0, 0, 0, 0, 1), (43, 12, 62, 'admin', 'Administrator', '', '', '', '', '', '', '', '', 'tititi@gmail.com', '', '4', 'Mon texte ici', 'voici mon texte qui sera dépublié demain', '', '12', 0, '2010-04-26', '2010-04-26', 0, 30, 0, 0, 0, 0, 1);
Donc j'ai bien des enregistrements dont la date de création est antérieure au 17 avril.
Si je fais : UPDATE 'marketplace_ads' SET published = 0 WHERE 'date_created'< DATE_ADD( '2010-04-27', INTERVAL 10 DAY) alors sa modifie les enregistrements (mais pas correctement) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Si tu veux, je peux te donner la requete sql afin de créer la table :
CREATE TABLE IF NOT EXISTS 'marketplace_ads' (
'id' int(10) unsigned NOT NULL auto_increment,
'category' int(10) unsigned default '0',
'userid' int(10) unsigned default NULL,
'user' varchar(25) default NULL,
'name' varchar(50) default NULL,
'surname' varchar(50) default NULL,
'street' varchar(50) default NULL,
'zip' varchar(10) default NULL,
'city' varchar(50) default NULL,
'state' varchar(50) default NULL,
'country' varchar(50) default NULL,
'phone1' varchar(50) default NULL,
'phone2' varchar(50) default NULL,
'email' varchar(50) default NULL,
'web' varchar(80) default NULL,
'ad_type' varchar(20) default NULL,
'ad_headline' varchar(80) default NULL,
'ad_text' text,
'ad_condition' varchar(20) default NULL,
'ad_price' varchar(20) default NULL,
'ad_image' tinyint(4) default '0',
'date_created' date default NULL,
'date_lastmodified' date default NULL,
'views' int(10) unsigned default '0',
'duration' int(10) unsigned default '30',
'flag_featured' tinyint(1) default '0',
'flag_top' tinyint(1) default '0',
'flag_commercial' tinyint(1) default '0',
'payment' tinyint(1) default '0',
'published' tinyint(1) default '1',
PRIMARY KEY ('id'),
KEY 'marketplace_ads_category' ('category'),
KEY 'marketplace_ads_userid' ('userid'),
KEY 'marketplace_ads_ad_type' ('ad_type')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=45 ; -
Effectivement, aucun enregistrement n'a une valeur date_created antérieure au 17 avril 2010 (cf. message précédent). Que comptes-tu faire avec cette requête ?
-
En faite, je faisais ensuite mes tests avec la requete suivante :
UPDATE 'marketplace_ads' SET published = 0 WHERE 'date_created'< DATE_SUB( '2010-04-27', INTERVAL 1 DAY)
Sa marche à présent.
merci pour ton aide