comment dupliquer une ligne dans ma base de donnée - PHP - Programmation
Marsh Posté le 09-06-2005 à 08:26:48
hdh a écrit : Hello, |
Un INSERT tu veux dire?
Sinon bah je pense qu'il y ai une fonction duplicate, mais c'est dans quel but que tu en as besoin? Pourquoi tu veux dupliquer tes données?
Marsh Posté le 09-06-2005 à 08:30:31
existe pas ??
=> snif
pourquoi ??
=> en fait à chaque inscription du nv membre je dois dupliquer certaines données (son profil par défaut) pour qu'il puisse les adapter comme bon lui semble par la suite. et je ne veux pas mettre en dure dans ma page un gros insert car je voudrais que cela soit dynamique...
=> tu ferais comment toi ???
euh.. au fait merci pr ta réponse
a+
cesarr89 a écrit : Un INSERT tu veux dire? |
Marsh Posté le 09-06-2005 à 08:33:58
hdh a écrit : existe pas ?? |
Tu as pas besoin de dupliquer les données, ou alors y'a un truc que je comprends pas?
Moi je ferais juste le insert des données lors de l'inscription et quand il veux modifier bah je fais un UPDATE, mais en aucun cas j'ai besoin de dupliquer les données.
J'y vois aucun interet....
Marsh Posté le 09-06-2005 à 08:37:29
je vais y reflechir : je te tiens au courant !
merci pr ton aide !
a+
H
cesarr89 a écrit : J'y vois aucun interet.... |
Marsh Posté le 09-06-2005 à 08:40:43
Ok.
Bah de rien.
Marsh Posté le 09-06-2005 à 09:27:51
Moi j'en ai eu besoin donc voila du code homebrew:
Code :
|
send_sql c'est au fait un mysql_query
$tab->nom de ta table
$id_tab->champ Id de la table
$id-> numero de l'id de la lige a dupliquer
J'espere que ca t'aidera
Marsh Posté le 09-06-2005 à 10:20:44
J'ai pas trop le tps tt de suite.. mais je regarde ca azap !
Grand merci pr ton aide : je te tiens au courant !
a+
H
PETOZAK a écrit : Moi j'en ai eu besoin donc voila du code homebrew: |
Marsh Posté le 09-06-2005 à 10:34:20
et quelque chose comme cela, c'est pas mieux ?
Code :
|
Marsh Posté le 09-06-2005 à 11:19:56
olallallallala !!
... et le public s'enflamme !! c'est l'euphorie !!
à qui la requete la plus courte ?? qui dit mieux ?????
si ca marche c'est top : je regarde tout à l'heure !!
gd merci !
a+
H
titione a écrit : et quelque chose comme cela, c'est pas mieux ?
|
Marsh Posté le 09-06-2005 à 11:42:57
wé je pensais a un truc de ce genre en SQL, qui m'avait aidé pour faire de l'archivage de données (donc duplication puis suppression):
si la table de destination a exactement la meme structure que la table source :
INSERT INTO table_destination SELECT * FROM table_source
WHERE <ma_condition>
Marsh Posté le 12-06-2005 à 09:36:07
Hello,
ca marche.... ;-)
...en partie ;-(
suite à un id autoincrement unique je suis obligé de faire une big magouille du style :
- je duplique certaines lignes de la table existante (div_type) dans une table ou le id n'est plus autoincremet ni unique
- j'impose une nouvelle valeur à type_mbr (cad à l'identifiant du membre)
- j'envoie le contenu de cette table dans la table de base
- j'efface la table temporaire
euh.. y aurait pas plus simple par zazard ???????
d'avance merci pour votre aide !!
H
ce qui donne :
DROP TABLE IF EXISTS div_type_tmp;
CREATE TABLE div_type_tmp (
id varchar(6) NOT NULL default '',
type_id varchar(5) NOT NULL default '',
type_nom varchar(80) NOT NULL default '0',
type_type int(12) NOT NULL default '0',
type_km_mois varchar(12) NOT NULL default '',
type_km_entre int(12) NOT NULL default '0',
type_km_att_1000 int(12) NOT NULL default '0',
type_km_att_6000 int(12) NOT NULL default '0',
type_km_att_12000 int(12) NOT NULL default '0',
type_mbr varchar(5) NOT NULL default ''
) TYPE=MyISAM;
INSERT INTO `div_type_tmp` SELECT * FROM `div_type` where type_mbr = '0';
update div_type_tmp set type_mbr = '9';
INSERT INTO `div_type` SELECT * FROM `div_type_tmp`;
DROP TABLE IF EXISTS div_type_tmp;
sachant que ma table de base est
CREATE TABLE div_type (
id int(6) NOT NULL auto_increment,
type_id varchar(5) NOT NULL default '',
type_nom varchar(80) NOT NULL default '0',
type_type int(12) NOT NULL default '0',
type_km_mois varchar(12) NOT NULL default '',
type_km_entre int(12) NOT NULL default '0',
type_km_att_1000 int(12) NOT NULL default '0',
type_km_att_6000 int(12) NOT NULL default '0',
type_km_att_12000 int(12) NOT NULL default '0',
type_mbr varchar(5) NOT NULL default '',
UNIQUE KEY type_id (id)
) TYPE=MyISAM;
titione a écrit : et quelque chose comme cela, c'est pas mieux ?
|
Marsh Posté le 09-06-2005 à 08:23:27
Hello,
(euh... j'ai mis dans le php parceque ai pas trouvé le mysql)
Question toute bête... à la quelle je ne trouve de réponse !!??
Je voudrais smplement dupliquer une ligne dans ma base de donnée : n'existerait-il pas une fonction à utiliser du style "duplicate machin where id est de tant"
Si elle n'existe pas : la meilleur facon est-elle derécupérer le contenu de la ligne à dupliquer et de faireun update???
d'avance grand merci pour vos réponses / idées !!
a+