mysql查询、多次插入、跨表更新
我有两张桌子 传真历史和温度 历史记录是空的 临时数据已填充 temp每个列类型都是varchar 我需要做一个1查询,插入temp中的每一行 但在此之前,将数据(varchar转换为int等)您可以使用mysql查询、多次插入、跨表更新,mysql,insert,Mysql,Insert,我有两张桌子 传真历史和温度 历史记录是空的 临时数据已填充 temp每个列类型都是varchar 我需要做一个1查询,插入temp中的每一行 但在此之前,将数据(varchar转换为int等)您可以使用cast('column'as decimal(p,s))将varchar字段转换为数字 请尝试以下操作: select cast(t.'column1' as decimal(p,s)), cast(t.'column2' as decimal(p,s)), t.'columnN' into
cast('column'as decimal(p,s))
将varchar字段转换为数字
请尝试以下操作:
select cast(t.'column1' as decimal(p,s)), cast(t.'column2' as decimal(p,s)), t.'columnN'
into f.'column1', f.'column2', f.'columnN'
from faxhistory f, temp t
在这里,吃一块饼干:
CREATE TABLE `faxhistory` ( <your create statement> ) COLLATE 'utf8_general_ci';
INSERT INTO `faxhistory` ( `id`, `fax`, `date`, `time`, `status_code`, `status_text`, `duration`, `pages`, `loops`, `company_id`) SELECT `id`, `fax`, `date`, `time`, `status_code`, `status_text`, `duration`, `pages`, `loops`, `company_id` FROM `temp`;
temp中有什么列?传真历史记录-id传真日期时间状态\u代码状态\u文本持续时间页循环公司\u id temp-传真号码日期时间状态\u代码状态\u文本持续时间页我尝试通过交叉表更新您应该将“传真历史记录”表设计为与“temp”相同!
ALTER TABLE `faxhistory` CHANGE COLUMN `id` `id` INT NOT NULL;