小编Max*_*xer的帖子

转储表列名中的特殊字符

我正在接管一个旧数据库,在从我的转储中进行恢复测试时,我发现一个表被错误地备份,表定义被截断。

查看实时数据库,我发现了一个名称中带有特殊字符的列名。即列名Località

我当前的 mysql 转储产生以下内容:

/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `contabilita_banche` (
  `ID_Banca` int(6) unsigned NOT NULL default '0',
  `Descrizione` varchar(70) default NULL,
  `Località;
/*!40101 SET character_set_client = @saved_cs_client */;
Run Code Online (Sandbox Code Playgroud)

第一个问题是表并没有到此结束,Località后面还有其他字段,所以结构转储不完整。除此之外,转储不会引发任何错误,并且数据会正确转储到最后。

我尝试了几个命令,都没有成功:

mysqldump -r /tmp/cbnew2.sql --default-character-set=latin1 --no-tablespaces --skip-lock-tables --quick -u root -p -h host Dbname contabilita_banche
mysqldump -r /tmp/cbnew2.sql --default-character-set=utf8 --no-tablespaces --skip-lock-tables --quick -u root -p -h host Dbname contabilita_banche
Run Code Online (Sandbox Code Playgroud)

服务器版本是 …

mysql mysqldump character-set mysql-4

5
推荐指数
1
解决办法
1319
查看次数

标签 统计

character-set ×1

mysql ×1

mysql-4 ×1

mysqldump ×1