0
我有一個包含複合主鍵的表。我正在嘗試從文本文件加載數據。 我需要將新值添加到表格的原始值中。使用加載數據添加值
drop table if exists load_data;
CREATE TABLE `load_data` (
`zoneid` bigint(20) NOT NULL DEFAULT '0',
`creativeid` bigint(20) NOT NULL DEFAULT '0',
`count` int(11) DEFAULT NULL,
PRIMARY KEY (`zoneid`,`creativeid`)
) ENGINE=MyISAM;
insert into load_data values (1200, 2200, 4), (9200, 9200, 91);
mysql> select * from load_data;
+--------+------------+-------+
| zoneid | creativeid | count |
+--------+------------+-------+
| 1200 | 2200 | 4 |
| 9200 | 9200 | 91 |
+--------+------------+-------+
2 rows in set (0.00 sec)
# cat abc1.txt
1200 2200 8
9200 9200 7
以下加載數據將5個計數添加到新值,而不是主鍵列的唯一組合的原始計數。
load data infile 'abc1.txt' replace into table load_data (zoneid, creativeid, @a) set count = @a+5 ;
mysql> select * from load_data;
+--------+------------+-------+
| zoneid | creativeid | count |
+--------+------------+-------+
| 1200 | 2200 | 13 |
| 9200 | 9200 | 12 |
+--------+------------+-------+
2 rows in set (0.00 sec)
當我嘗試將值添加到相應區域和創造性的ID列的原始計數值,我得到的NULL,而不是新的總。
mysql> load data infile 'abc1.txt' replace into table load_data (zoneid, creativeid, @a) set count = @[email protected] ;
Query OK, 4 rows affected (0.00 sec)
Records: 2 Deleted: 2 Skipped: 0 Warnings: 0
mysql> select * from load_data;
+--------+------------+-------+
| zoneid | creativeid | count |
+--------+------------+-------+
| 1200 | 2200 | NULL |
| 9200 | 9200 | NULL |
+--------+------------+-------+
2 rows in set (0.00 sec)
預期結果:
mysql> select * from load_data;
+--------+------------+-------+
| zoneid | creativeid | count |
+--------+------------+-------+
| 1200 | 2200 | 12 |
| 9200 | 9200 | 98 |
+--------+------------+-------+