Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql查询、多次插入、跨表更新_Mysql_Insert - Fatal编程技术网

mysql查询、多次插入、跨表更新

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

我有两张桌子 传真历史和温度

历史记录是空的 临时数据已填充

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 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;