J'ai besoin d'insérer 50 lignes dans une table mysql. Ils devraient tous être exactement identiques, en plus de la clé primaire.Insérer un groupe de lignes dupliquées dans une table mysql
Y at-il une requête qui peut faire cela?
J'ai besoin d'insérer 50 lignes dans une table mysql. Ils devraient tous être exactement identiques, en plus de la clé primaire.Insérer un groupe de lignes dupliquées dans une table mysql
Y at-il une requête qui peut faire cela?
utiliser seulement en boucle:
declare var1 int
select var1 = 0
BEGIN
WHILE (var1 < 50) DO
insert...
Select var1 = var1 + 1
END WHILE;
END
Brutal mais efficace:
INSERT INTO MyTable (data, num)
SELECT 'textdata' as data, 1234 as num
FROM
(SELECT 1
UNION ALL
SELECT 1
) as a,
(SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
) as b,
(SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
UNION ALL
SELECT 1
) as c
Si vous avez une table existante au hasard qui a plus de lignes que vous souhaitez insérer, vous pouvez le faire:
insérer dans la table 1 (ligne 1, ligne 2), sélectionner valeur1 identique, valeur2 identique de limite table2 50
par exemple:
insert dans table1 (Myint, mystr, mystr2) sélectionner 123, "bonjour", "monde" de table2 limiter 50
- Notez que vous n'êtes pas de quoi que ce soit insérez table2
Génial, merci! – Cam
Hmm. Essayé, mais l'instruction d'insertion ne fonctionne pas (il crache une erreur, pointant vers l'instruction d'insertion et me dit de vérifier ma syntaxe là). J'utilise 'INSERT INTO myTable (données, num) VALUES ('textdata', 1234)'. Chose étrange est, cela fonctionne bien seul comme un seul insert. Des idées? – Cam
De même, comment puis-je incrémenter le compteur var1? – Cam