从SQL文件中的值中删除尾随空格

时间:2014-10-31 21:47:50

标签: mysql whitespace

我每月都会从第三方公司获得一个SQL文件,然后我可以轻松加载到MySQL数据库中,然后关闭并运行。除了几乎每个VARCHAR字段在所有80多个表中都有额外的尾随空格外。

示例:

DROP TABLE IF EXISTS `Aspiration`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Aspiration` (
  `AspirationID` int(10) NOT NULL,
  `AspirationName` varchar(30) NOT NULL,
  PRIMARY KEY (`AspirationID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `Aspiration`
--

LOCK TABLES `Aspiration` WRITE;
/*!40000 ALTER TABLE `Aspiration` DISABLE KEYS */;
INSERT INTO `Aspiration` VALUES (1,'-                             '),(5,'Naturally Aspirated           '),(6,'Turbocharged                  '),(7,'Supercharged                  '),(9,'Turbo/Supercharged            '),(10,'Turbo/Intercooled             '),(12,'Turbo/Aftercooled             ');
/*!40000 ALTER TABLE `Aspiration` ENABLE KEYS */;

我知道在导入SQL文件后以递归方式修剪字段的方法,但我知道必须有更好的方法。理想情况下,是否有可能在SQL转储上生成此设置的设置,我可以告诉它们更改?

如果没有,这实际上是他们的数据(这不会让我感到震惊),有没有简单的方法在数据加载上应用trim()

目前我的最佳解决方案是在Ruby中打开SQL文件并在文件中gsub(/ +\'/, "\'")打开。

0 个答案:

没有答案