我正在使用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示例 -
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。
答案 0 :(得分:1)
我认为这样的设置会违反ANSI标准。
每当我需要做这样的事情时,我会在Excel中使用奇怪的字符,然后我使用Notepad或Ultraedit进行全局替换......
答案 1 :(得分:1)
这是一个可能的解决方案,而不是对您的问题的直接回答
而不是在Excel中准备UPDATE statements
:
LOAD DATA INFILE
UPDATE
语句或语句,用于更新您的事实表格。DROP
您的临时临时表