สมมุติว่าเราต้องการให้แสดงบทความล่วงหน้าทุก ๆ 7:00 ทำได้โดยการตั้ง “เผยแพร่” Publish เอาไว้ แต่ถ้ามันหลาย ๆ post การที่จะมาเปลี่ยน manual มันก็ไม่เหมาะเท่าไหร่ เลยเขียน UPDATE SQL ดีกว่า
Script ตรวจสอบก่อน
ก่อนที่จะ update แล้วลุ้นว่าเขียนเงื่อนไขได้ถูกต้องมั๋ย คุณก็ควรจะต้องเขียน test script ก่อนจะได้แน่ใจว่าข้อมูลมันถูกต้องจริง ๆ เพราะว่า การแก้ปัญหา มันยากกว่า การป้องกัน
SELECT ID, post_title, post_date AS original_date, CONCAT (DATE (post_date) , ' 07:00:00') AS new_date, post_date_gmt AS original_gmt, CONCAT (DATE (post_date_gmt) , ' 07:00:00') AS new_gmt
FROM wp_posts
WHERE post_date IS NOT NULL
LIMIT 100;
Script แก้ไขจริง
เมื่อตรวจสอบว่าถูกต้องแล้ว ให้รันคำสั่งนี้เพื่อแก้ไขข้อมูลจริง
UPDATE wp_posts
SET post_date = CONCAT (DATE (post_date) , ' 07:00:00') , post_date_gmt = CONCAT (DATE (post_date_gmt) , ' 07:00:00') WHERE post_date IS NOT NULL;
Script ตรวจสอบหลังแก้ไข
รันเพื่อดูผลลัพธ์หลังจากแก้ไข
SELECT ID, post_title, post_date, post_date_gmt
FROM wp_posts
ORDER BY ID DESC
LIMIT 100;
อ่านเพิ่มเติม
- WordPress: เปลี่ยนวันที่ post ทั้งหมดให้สม่ำเสมอ
- WordPress: ดูว่า post ไว้วันไหนบ้าง
- SQL Server: batch migrate sync table
อ่านเพิ่มเติม
- WordPress: รวมค่าคอนฟิกูเรชัน wp-config.php เพื่อปรับแต่งและเพิ่มประสิทธิภาพ
- Java 16 (2021): Records (คลาสข้อมูลแบบ Immutable ที่ประกาศกระชับ ไม่ต้องเขียน Getter/Setter เอง) และ Pattern Matching สำหรับ instanceof
- Java 15 (2020): Sealed Classes (การจำกัดสิทธิ์ว่าคลาสใดสามารถสืบทอดได้บ้าง) และ Hidden Classes
- MacOs: จัดการจอในจอนอกด้วย BetterDisplay
- Testing: ส่งเมล์ผ่าน command