簡體   English   中英

MySQL存儲過程[復制表1->表2]

[英]MySQL Stored Procedure [Copy table 1 -> table 2]

除了簡單的CRUD操作之外,我對MySQL / SQL的了解是基本的。

如果我必須使用存儲過程將某些屬性(不是按特定順序)移動到另一個表,該怎么辦?

這些是下表。 我想從第一張桌子移到第二張桌子。

如您所見,某些列的數據類型大小不同。

CREATE TABLE IF NOT EXISTS `source_cdr` (
  `callstart` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `src` varchar(80) NOT NULL DEFAULT '',
  `dst` varchar(80) NOT NULL DEFAULT '',
  `accountcode` varchar(50) NOT NULL,
  `uniqueid` varchar(100) NOT NULL,
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `callanswer` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `callend` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `disposition` varchar(50) NOT NULL,
  `cdr_id` int(11) unsigned NOT NULL DEFAULT '0',
  `pin_code` varchar(4) NOT NULL,
  `provider` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `calldate_idx` (`callstart`) USING BTREE,
  KEY `idx_acc_code_calldate` (`accountcode`,`callstart`) USING BTREE,
  KEY `uniqueid` (`uniqueid`),
  KEY `cdr_id` (`cdr_id`),
  KEY `idx_uniqueid_cdr_id` (`uniqueid`,`cdr_id`)
) ENGINE=MyISAM;

-

CREATE TABLE IF NOT EXISTS `destination_cdr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `calldate` datetime NOT NULL,
  `source` varchar(80) NOT NULL,
  `destination` varchar(80) NOT NULL,
  `account_code` varchar(30) DEFAULT NULL,
  `pincode` varchar(45) NOT NULL,
  `duration_call` bigint(20) NOT NULL DEFAULT '0',
  `duration_talk` bigint(20) NOT NULL,
  `disposition` varchar(255) NOT NULL,
  `clid` varchar(80) DEFAULT NULL,
  `cdr_id` bigint(20) DEFAULT NULL,
  `vxcdr_id` bigint(20) DEFAULT NULL,
  `provider` int(11) NOT NULL DEFAULT '0'
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

編輯1

行的例子

    ('2012-03-18 20:54:49', '5796', '0761100866', '103f0124ad510516f33cab132c0a695b', 'call-F1884808-6753-2F10-181C-3A@10.217.164.33', 308006367, '2012-03-18 20:55:05', '2012-03-18 20:55:51', '200 OK', 2, '', 0),

謝謝

您可以使用MySQL:INSERT ... SELECT語法將數據從一個表復制到另一個表。
確定兩者中的公共字段並復制相同的字段。

范例

INSERT INTO TABLE2( COL1, COLx, ... ) SELECT colM, colY FROM TABLE1;

如果列大小不匹配,則會發生數據截斷,並且您無法克服,只能重新定義目標表列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM