Tôi có một bảng trong tên của ips như sau:
CREATE TABLE `ips` (
`id` int(10) unsigned NOT NULL DEFAULT '0',
`begin_ip_num` int(11) unsigned DEFAULT NULL,
`end_ip_num` int(11) unsigned DEFAULT NULL,
`iso` varchar(3) DEFAULT NULL,
`country` varchar(150) DEFAULT NULL
) ENGINE=InnoDB
Giả sử tôi có một countryid
trường trên bảng này từ bảng quốc gia như sau:
CREATE TABLE `country` (
`countryid` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`ordering` smallint(5) unsigned NOT NULL DEFAULT '0',
`iso` char(2) NOT NULL,
PRIMARY KEY (`countryid`)
) ENGINE=InnoDB
Có khoảng 100.000 hồ sơ trong bảng ips. Có bất kỳ truy vấn nào cho kịch bản sau đây không:
Kiểm tra xem ips.iso
có bằng không country.iso
, nếu nó bằng nhau thì thêm country.coutryid vào bản ghi đó. Tôi không thể nghĩ ra cách nào để làm điều đó. Bạn có bất cứ ý tưởng làm thế nào để làm điều đó?