ฉันจะขอบคุณถ้าใครสามารถช่วยฉันในสิ่งที่เป็นคำสั่งที่เหมาะสมใน MySQL เพื่อค้นหาฐานข้อมูลทั้งหมดที่มีเครื่องมือ "MyISAM" ฉันต้องแปลง DB & ทุกตารางจาก MyISAM เป็น InnoDB
ฉันจะขอบคุณถ้าใครสามารถช่วยฉันในสิ่งที่เป็นคำสั่งที่เหมาะสมใน MySQL เพื่อค้นหาฐานข้อมูลทั้งหมดที่มีเครื่องมือ "MyISAM" ฉันต้องแปลง DB & ทุกตารางจาก MyISAM เป็น InnoDB
คำตอบ:
ด้านล่างคือแบบสอบถามเพื่อค้นหาตารางทั้งหมดที่มีMyISAM
Engine
SELECT TABLE_SCHEMA as DbName ,TABLE_NAME as TableName ,ENGINE as Engine FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
แบบสอบถามด้านบนจะแสดงรายการตารางทั้งหมดที่มีMyISAM
Engine
สำหรับวิธีการแปลงตาราง MyISAM ที่มีอยู่เพื่อ InnoDB
ด้านล่างเป็นแบบสอบถามที่จะกลับงบ ALTER การแปลงที่มีอยู่ตารางไปMyISAM
InnoDB
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA,'`.`',TABLE_NAME, '` ENGINE = InnoDB;') FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
คุณสามารถรันคำสั่งเหล่านี้เพื่อแปลงเอนจิน