MySQL - 有没有办法更改更新的 ENCLOSED IN 字符?

标签 mysql sql-update

我正在使用 EXCEL 创建一组 UPDATE 语句。许多行的列中包含单引号字符作为字段值的一部分。有没有办法告诉 MySQL 使用“或 ' 之外的不同 ENCLOSURE 字符?

如果能够将角色从标准更改为特定角色,那就太好了。 示例-

UPDATE table SET length=~value~, width=~value~, etc.

其中 ~ 用来代替 "或 ' 。

旧表的架构 -

CREATE TABLE IF NOT EXISTS `pudoitems` (
  `PUDOItem_id` int(11) NOT NULL AUTO_INCREMENT,
  `PUDO_id` int(11) DEFAULT NULL,
  `PUDO_tab_id` int(11) NOT NULL,
  `PUDOItem_make` varchar(45) DEFAULT NULL,
  `PUDOItem_model` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype` varchar(45) DEFAULT NULL,
  `PUDOItem_serial` varchar(45) DEFAULT NULL,
  `PUDOItem_weight` mediumint(9) DEFAULT NULL,
  `PUDOItem_height` varchar(10) DEFAULT NULL,
  `PUDOItem_width` varchar(10) DEFAULT NULL,
  `PUDOItem_length` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes` text,
  `loads_load_id` int(11) NOT NULL,
  PRIMARY KEY (`PUDOItem_id`,`loads_load_id`),
  KEY `PUDOItem_make_idx` (`PUDOItem_make`),
  KEY `PUDOItem_model_idx` (`PUDOItem_model`),
  KEY `PUDOItem_makemodel_idx` (`PUDOItem_make`,`PUDOItem_model`),
  KEY `fk_PUDO_id` (`PUDO_id`),
  KEY `fk_pudoitems_loads1` (`loads_load_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2739 ;

新表的架构 -

CREATE TABLE IF NOT EXISTS `pudoitems_cat` (
  `PUDOItem_id` int(11) NOT NULL AUTO_INCREMENT,
  `PUDO_id` int(11) DEFAULT NULL,
  `PUDO_tab_id_01` int(11) NOT NULL,
  `PUDOItem_make_01` varchar(45) DEFAULT NULL,
  `PUDOItem_model_01` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_01` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_01` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_01` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_01` varchar(10) DEFAULT NULL,
  `PUDOItem_width_01` varchar(10) DEFAULT NULL,
  `PUDOItem_length_01` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_01` text,
  `PUDO_tab_id_02` int(11) NOT NULL,
  `PUDOItem_make_02` varchar(45) DEFAULT NULL,
  `PUDOItem_model_02` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_02` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_02` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_02` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_02` varchar(10) DEFAULT NULL,
  `PUDOItem_width_02` varchar(10) DEFAULT NULL,
  `PUDOItem_length_02` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_02` text,  
  `PUDO_tab_id_03` int(11) NOT NULL,
  `PUDOItem_make_03` varchar(45) DEFAULT NULL,
  `PUDOItem_model_03` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_03` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_03` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_03` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_03` varchar(10) DEFAULT NULL,
  `PUDOItem_width_03` varchar(10) DEFAULT NULL,
  `PUDOItem_length_03` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_03` text,
  `PUDO_tab_id_04` int(11) NOT NULL,
  `PUDOItem_make_04` varchar(45) DEFAULT NULL,
  `PUDOItem_model_04` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_04` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_04` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_04` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_04` varchar(10) DEFAULT NULL,
  `PUDOItem_width_04` varchar(10) DEFAULT NULL,
  `PUDOItem_length_04` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_04` text,
  `PUDO_tab_id_05` int(11) NOT NULL,
  `PUDOItem_make_05` varchar(45) DEFAULT NULL,
  `PUDOItem_model_05` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_05` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_05` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_05` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_05` varchar(10) DEFAULT NULL,
  `PUDOItem_width_05` varchar(10) DEFAULT NULL,
  `PUDOItem_length_05` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_05` text,
  `PUDO_tab_id_06` int(11) NOT NULL,
  `PUDOItem_make_06` varchar(45) DEFAULT NULL,
  `PUDOItem_model_06` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_06` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_06` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_06` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_06` varchar(10) DEFAULT NULL,
  `PUDOItem_width_06` varchar(10) DEFAULT NULL,
  `PUDOItem_length_06` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_06` text,
  `PUDO_tab_id_07` int(11) NOT NULL,
  `PUDOItem_make_07` varchar(45) DEFAULT NULL,
  `PUDOItem_model_07` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_07` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_07` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_07` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_07` varchar(10) DEFAULT NULL,
  `PUDOItem_width_07` varchar(10) DEFAULT NULL,
  `PUDOItem_length_07` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_07` text,  
  `PUDO_tab_id_08` int(11) NOT NULL,
  `PUDOItem_make_08` varchar(45) DEFAULT NULL,
  `PUDOItem_model_08` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_08` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_08` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_08` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_08` varchar(10) DEFAULT NULL,
  `PUDOItem_width_08` varchar(10) DEFAULT NULL,
  `PUDOItem_length_08` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_08` text,
  `PUDO_tab_id_09` int(11) NOT NULL,
  `PUDOItem_make_09` varchar(45) DEFAULT NULL,
  `PUDOItem_model_09` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_09` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_09` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_09` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_09` varchar(10) DEFAULT NULL,
  `PUDOItem_width_09` varchar(10) DEFAULT NULL,
  `PUDOItem_length_09` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_09` text,
  `PUDO_tab_id_10` int(11) NOT NULL,
  `PUDOItem_make_10` varchar(45) DEFAULT NULL,
  `PUDOItem_model_10` varchar(45) DEFAULT NULL,
  `PUDOItem_equiptype_10` varchar(45) DEFAULT NULL,
  `PUDOItem_serial_10` varchar(45) DEFAULT NULL,
  `PUDOItem_weight_10` mediumint(9) DEFAULT NULL,
  `PUDOItem_height_10` varchar(10) DEFAULT NULL,
  `PUDOItem_width_10` varchar(10) DEFAULT NULL,
  `PUDOItem_length_10` varchar(10) DEFAULT NULL,
  `PUDOItem_Notes_10` text,
  `loads_load_id` int(11) NOT NULL,
  PRIMARY KEY (`PUDOItem_id`,`loads_load_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=UTF16 AUTO_INCREMENT=2900 ;

PUDO_tab_id 标识给定 PUDO_id 的 PUDOItem_[field]_[tag_id #]。

这是一个更新示例 -

UPDATE PUDOItems_cat SET PUDO_tab_id_01=1 ,PUDOItem_make_01=", E2," ,PUDOItem_model_01=TR3520 / TWR3520  ,PUDOItem_equiptype_01=TUGGERS ,PUDOItem_serial_01=SEE ATTACHED ,PUDOItem_weight_01=12000 ,PUDOItem_height_01=6" ,PUDOItem_width_01=8 ,PUDOItem_length_01=40 ,PUDOItem_Notes_01= WHERE PUDOItem_id =1;
UPDATE PUDOItems_cat SET PUDO_tab_id_02=2 ,PUDOItem_make_02='LOADING TIMES:' ,PUDOItem_model_02='730A - 300PM '  ,PUDOItem_equiptype_02='*CALL 1 HR PRIOR TO ' ,PUDOItem_serial_02='ARRIVAL*' ,PUDOItem_weight_02=0 ,PUDOItem_height_02='' ,PUDOItem_width_02='' ,PUDOItem_length_02='' ,PUDOItem_Notes_02='' WHERE PUDOItem_id =1;
UPDATE PUDOItems_cat SET PUDO_tab_id_01=1 ,PUDOItem_make_01=' CAT' ,PUDOItem_model_01='NDC100'  ,PUDOItem_equiptype_01='FORKLIFT' ,PUDOItem_serial_01='2HL11637' ,PUDOItem_weight_01=0 ,PUDOItem_height_01='' ,PUDOItem_width_01='' ,PUDOItem_length_01='' ,PUDOItem_Notes_01='' WHERE PUDOItem_id =2;
UPDATE PUDOItems_cat SET PUDO_tab_id_02=2 ,PUDOItem_make_02='CAT' ,PUDOItem_model_02='NDC100'  ,PUDOItem_equiptype_02='FORKLIFT' ,PUDOItem_serial_02='2HL11674' ,PUDOItem_weight_02=0 ,PUDOItem_height_02='' ,PUDOItem_width_02='' ,PUDOItem_length_02='' ,PUDOItem_Notes_02='' WHERE PUDOItem_id =2;
UPDATE PUDOItems_cat SET PUDO_tab_id_03=3 ,PUDOItem_make_03=' 2 BATTERIES' ,PUDOItem_model_03='1 CHARGER PER'  ,PUDOItem_equiptype_03='MACHINE' ,PUDOItem_serial_03='' ,PUDOItem_weight_03=45000 ,PUDOItem_height_03='8' ,PUDOItem_width_03='8' ,PUDOItem_length_03='48' ,PUDOItem_Notes_03='' WHERE PUDOItem_id =2;
UPDATE PUDOItems_cat SET PUDO_tab_id_01=1 ,PUDOItem_make_01='MIDLAND' ,PUDOItem_model_01=''  ,PUDOItem_equiptype_01='DIRT BUCKET' ,PUDOItem_serial_01='' ,PUDOItem_weight_01=4000 ,PUDOItem_height_01='' ,PUDOItem_width_01='8' ,PUDOItem_length_01='18' ,PUDOItem_Notes_01='' WHERE PUDOItem_id =16;

前 2 个 UPDATES 构建 PUDO_id = 1,接下来 3 个 UPDATES 构建 PUDO_id = 2,最后一个 UPDATE 构建 PUDO_id = 16。

最佳答案

我认为这样的设置会违反 ANSI 标准。

每当我需要做这样的事情时,我都会在 Excel 中使用奇怪的字符,然后使用记事本或 Ultraedit 进行全局替换...

关于MySQL - 有没有办法更改更新的 ENCLOSED IN 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18132436/

相关文章:

entity-framework - 如何更新 EF 中的导航属性/相关表?

php - 更新sql表

mysql - 使用聚合函数时从 hibernate 中的多个表中选择列

mysql - 无法连接到 mysql 服务器错误 : mysqld. sock' (38)

mysql - 为什么我的 JOIN 显示双重结果?

php - Mysql 连接三个表以获取唯一数据列表

java - 将mysql数据库连接到jsp

mysql - 使用嵌套选择更新 MySql 中的重复值

mysql - 更新条件来自另一个表的表字段

mysql - UPDATE 可以用不同的方式写吗?