ฉันมีตารางในชื่อ ips ดังต่อไปนี้:
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
สมมติว่าฉันมีcountryid
ฟิลด์ในตารางนี้จากตารางประเทศซึ่งเป็นด้านล่าง:
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
มีประมาณ 100,000 ระเบียนในตาราง ips มีแบบสอบถามใด ๆ สำหรับสถานการณ์ต่อไปนี้:
ตรวจสอบว่าips.iso
เท่ากับcountry.iso
ถ้ามันเท่ากันแล้วเพิ่ม country.coutryid ไปยังระเบียนนั้น ฉันคิดไม่ออกเลยว่าจะทำอย่างไร คุณมีความคิดวิธีการทำเช่นนั้น?