Insert Into Mediumtext - selbes Szenario, mal gehts, mal nicht

Insert Into Mediumtext - selbes Szenario, mal gehts, mal nicht

am 25.04.2006 12:08:43 von google

Hi.

Ich habe ein dringendes Problem beim Migrieren von einem CMS-System zu
einem anderen. Zwei Tabellen, "mig" (altes System) und "cms" (neues
System).

Auszugsweise:

mysql> describe mig.mpn_stories;
+-----------+-----------------------+------+-----+---------+ ----------------+
| Field | Type | Null | Key | Default | Extra
|
+-----------+-----------------------+------+-----+---------+ ----------------+
| hometext | text | YES | | NULL |
|
| bodytext | text | YES | | NULL |
|


mysql> describe cms.jos_content;
+------------------+------------------+------+-----+-------- -------------+----------------+
| Field | Type | Null | Key | Default
| Extra |
+------------------+------------------+------+-----+-------- -------------+------
| introtext | mediumtext | | |
| |
| fulltext | mediumtext | | |
|


Zum Problem: Das funktioniert:

mysql> insert into cms.jos_content (introtext) select hometext from
mig.mpn_stories;
Query OK, 180 rows affected (0.08 sec)
Records: 180 Duplicates: 0 Warnings: 0

Erstaunlich (fuer mich zumindest): Das funktioniert NICHT:

mysql> insert into cms.jos_content (fulltext) select bodytext from
mig.mpn_stories;
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'fulltext) select bodytext from mig.mpn_stories' at
line 1

(Das ist nur das "kleinster gemeinsamer Nenner"-Beispiel ...
schlussendlich werden natuerlich mehr Spalten ueber Select Into
kopiert, aber alle kann ich kopieren ausser fulltext -> bodytext.

Hat vielleicht jemand ne Idee warum letzteres nicht funktioniert
(obwohls die selben Datentypen sind) und/oder wie ich das Problem
irgendwie umgehen koennte?

Danke!

Carsten


--- snip ---

mysql> status
--------------
mysql Ver 14.7 Distrib 4.1.12, for redhat-linux-gnu (i686) using
readline 4.3

Connection id: 131
Current database: cms
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 4.1.12
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 20 min 51 sec

Re: Insert Into Mediumtext - selbes Szenario, mal gehts, mal nicht

am 25.04.2006 12:23:43 von Thomas Wolf

google@humanprototype.com schrieb:
> Hi.
>
> Ich habe ein dringendes Problem beim Migrieren von einem CMS-System zu
> einem anderen. Zwei Tabellen, "mig" (altes System) und "cms" (neues
> System).
>
> Auszugsweise:
>
> mysql> describe mig.mpn_stories;
> +-----------+-----------------------+------+-----+---------+ ----------------+
> | Field | Type | Null | Key | Default | Extra
> |
> +-----------+-----------------------+------+-----+---------+ ----------------+
> | hometext | text | YES | | NULL |
> |
> | bodytext | text | YES | | NULL |
> |
>
>
> mysql> describe cms.jos_content;
> +------------------+------------------+------+-----+-------- -------------+----------------+
> | Field | Type | Null | Key | Default
> | Extra |
> +------------------+------------------+------+-----+-------- -------------+------
> | introtext | mediumtext | | |
> | |
> | fulltext | mediumtext | | |
> |
>
>
> Zum Problem: Das funktioniert:
>
> mysql> insert into cms.jos_content (introtext) select hometext from
> mig.mpn_stories;
> Query OK, 180 rows affected (0.08 sec)
> Records: 180 Duplicates: 0 Warnings: 0
>
> Erstaunlich (fuer mich zumindest): Das funktioniert NICHT:
>
> mysql> insert into cms.jos_content (fulltext) select bodytext from
> mig.mpn_stories;
> ERROR 1064 (42000): You have an error in your SQL syntax; check the
> manual that corresponds to your MySQL server version for the right
> syntax to use near 'fulltext) select bodytext from mig.mpn_stories' at
> line 1

"fulltext" ist ein reserviertes Wort.

Grüße,
Thomas

Re: Insert Into Mediumtext - selbes Szenario, mal gehts, mal nicht

am 25.04.2006 12:30:55 von google

Vielen Dank!

For the records, habs nachgeschlagen, reservierte Woerter werden mit
Backticks "escaped".

mysql> insert into cms.jos_content (`fulltext`) select bodytext from
mig.mpn_stories;

funktioniert einwandfrei.

Danke nochmal fuer die schnelle Antwort :)

Gruss
Carsten

Re: Insert Into Mediumtext - selbes Szenario, mal gehts, mal nicht

am 26.04.2006 23:34:10 von Dominik Echterbruch

google@humanprototype.com wrote:
^^^^^^
Auch das ist ein reserviertes Wort. Bitte in Zukunft deinen Realnamen
benutzen. Danke!


Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786