Vous devez UNPIVOT
vos données. MySQL n'a pas de fonction intégrée pour le faire, vous devrez donc utiliser plusieurs requêtes.
INSERT INTO `monthlydata` (`id`, `year`, `monthName`, `stat_id`, `cat_id`, `data`) VALUES
SELECT id, year, 'January', stat_id, cat_id, January
FROM monthly WHERE monthName = 'January'
UNION ALL
SELECT id, year, 'February', stat_id, cat_id, February
FROM monthly WHERE monthName = 'February'
UNION ALL
SELECT id, year, 'March', stat_id, cat_id, March
FROM monthly WHERE monthName = 'March'
.....
ID
colonne ici peut causer des problèmes. Selon la façon dont vous l'avez défini. S'il est généré automatiquement, vous pouvez le supprimer de l'INSERT et le laisser être généré automatiquement. Puisque vous aurez des lignes pour tous les mois avec le même ID
, vous devez gérer ce scénario.