En fait, ça t'ajoute une nouvelle ligne, pas une nouvelle table
C'est surement que id_news=1 n'existe pas (es-tu sûr du nom du champ?) car mysql crée un enregistrement lorsque la clause where ne renvoit pas de résultat.
Et évite de jouer avec les différentes quotes de protection: tu protèges le nom de la table, les noms des colonnes à updater mais pas la colonne de sélection.
Fais au plus simple:
UPDATE news SET auteur='$auteur', titre='$titre', texte='$texte' WHERE id_news=1