Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การจำลองแบบ MySQL:ป้องกันคำสั่ง SQL เฉพาะที่จำลองไปยังทาสชั่วคราวหรือไม่


เพื่อให้บรรลุสิ่งนี้ คุณต้องตั้งค่า sql_log_bin เป็น 0 เพื่อให้เข้าใจแนวคิด ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง SQLStatementsDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.79 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก SQLStatementsDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------+----------+| 1 | จอห์น || 2 | แครอล || 3 | บ๊อบ || 4 | ไมค์ || 5 | แซม || 6 | David |+-------+----------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นข้อความค้นหาที่ใช้การจำลองแบบ MySQL สำหรับคำสั่ง SQL

mysql> SET sql_log_bin=0;Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)mysql> อัปเดต SQLStatementsDemo ตั้งค่า UserName='Maxwell' โดยที่ UserId=6; Query OK, 1 แถวได้รับผลกระทบ (0.05 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแปลง :1 คำเตือน:0mysql> เลือก *จาก SQLStatementsDemo;+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------+----------+| 1 | จอห์น || 2 | แครอล || 3 | บ๊อบ || 4 | ไมค์ || 5 | แซม || 6 | Maxwell |+-------+----------+6 แถวในชุด (0.00 วินาที)mysql> แทรกลงในค่า SQLStatementsDemo (ชื่อผู้ใช้) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> เลือก *จาก SQLStatementsDemo;+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------+----------+| 1 | จอห์น || 2 | แครอล || 3 | บ๊อบ || 4 | ไมค์ || 5 | แซม || 6 | แม็กซ์เวลล์ || 7 | Chris |+-------+----------+7 แถวในชุด (0.00 วินาที)mysql> ลบออกจาก SQLStatementsDemo โดยที่ UserId=7;Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที )mysql> SET sql_log_bin=1;ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)