mysqldump: Leerzeichen nach Komma der Spalte?

Xep22

Member
wenn ich bei phpmyadmin exportiere sieht das ja so aus :

Code:
VALUES (1, 'true', '29.06.2018 20:32:18', 'Mountain View'),

mit mysqldump aber so, wie lautet da das Parameter damit es auch Leerzeichen hat?

Code:
VALUES (1,'true','29.06.2018 20:32:18','Mountain View');
 
Last edited by a moderator:

Xep22

Member
wenn ich einen bestimmten Eintrag wiederherstellen exportiere ich die DB von phpmyadmin, füge die Zeile vom backup eon aber muss die leerzeichen selbst hinzufügen da phpmyadmin sonst ein Fehler zeigt...
 

d3p

Blog Benutzer
muss die leerzeichen selbst hinzufügen da phpmyadmin sonst ein Fehler zeigt...

Wie lautet der Fehler denn? Ich kann mir nicht vorstellen, dass phpmyadmin wegen fehlenden Leerzeichen einen Fehler schmeißt, da die Syntax des Querys ja nicht beeinflusst wird.
 

Xep22

Member
Ah ok seh grad ist nicht das Leerzeichen, sondern das
Code:
,
am Ende. bei mysqldump ist es immer ein
Code:
;

Kann man das irgendwie ändern ?
 

nexus

Well-Known Member
Wie sieht denn das komplette SQL-Statement aus?
Normalerweise kommt bei der SQL-Syntax nach dem Komma noch was, ein Semikolon schließt ein Statement ab...
 

GwenDragon

Registered User
Du hast einfach irgendwo wahllos SQL aus einer längeren Kette von Befehlen rausgepickt.
Ein SQL-Statement startet am Anfang einer Zeile und endet (kann auch über mehrere Zeilen laufen) mit einem Semicolon.
Die beiden Zeilen könne auch niemals dieselben sein. In der ersten stehen bestimmt noch mehr Befehle drin.

---- Mein Test. ----

Code:
-- phpMyAdmin SQL Dump
-- version 4.6.6deb4
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Erstellungszeit: 10. Dez 2018 um 11:27
-- Server-Version: 10.1.37-MariaDB-0+deb9u1
-- PHP-Version: 7.0.30-0+deb9u1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Datenbank: `test`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `tabelle1`
--

CREATE TABLE `tabelle1` (
  `id` int(11) NOT NULL,
  `name` char(100) DEFAULT NULL,
  `nick` char(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Daten für Tabelle `tabelle1`
--

INSERT INTO `tabelle1` (`id`, `name`, `nick`) VALUES
(22, 'test1', 'Octo');

--
-- Indizes der exportierten Tabellen
--

--
-- Indizes für die Tabelle `tabelle1`
--
ALTER TABLE `tabelle1`
  ADD PRIMARY KEY (`id`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Code:
-- MySQL dump 10.16  Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version	10.1.37-MariaDB-0+deb9u1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tabelle1`
--

DROP TABLE IF EXISTS `tabelle1`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tabelle1` (
  `id` int(11) NOT NULL,
  `name` char(100) DEFAULT NULL,
  `nick` char(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tabelle1`
--

LOCK TABLES `tabelle1` WRITE;
/*!40000 ALTER TABLE `tabelle1` DISABLE KEYS */;
INSERT INTO `tabelle1` VALUES (22,'test1','Octo');
/*!40000 ALTER TABLE `tabelle1` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2018-12-10 11:28:47

----

Also ich versteh nicht wie man das da was beim INSERT INTO falsch machen kann bei den Values.
Außer man kann kein gültiges SQL schreiben.

Aber ohne den Codedump ist das sinnlos zuraten was da fasch gemacht wird.

@xep22 Wie ist also deine komplette SQL-Codezeile?
 
Last edited by a moderator:
Top