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

รีเซ็ตฟิลด์ MySQL เป็นค่าเริ่มต้นหรือไม่


ใน MySQL มีสองวิธีที่คุณสามารถรีเซ็ตฟิลด์ MySQL เป็นค่าเริ่มต้นได้ หนึ่งคือคีย์เวิร์ดเริ่มต้นและอีกอันคือฟังก์ชัน default()

กรณีที่ 1 :การใช้คีย์เวิร์ดเริ่มต้น ไวยากรณ์มีดังนี้:

อัปเดต yourTableName SET yourColumnName=default where yourCondition;

กรณีที่ 2 :การใช้ฟังก์ชัน default() ไวยากรณ์มีดังนี้:

อัปเดต yourTableName ตั้งค่า yourColumnName=default(yourColumnName) ที่ yourCondition;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง Default_Demo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Salary float, -> PRIMARY KEY(Id) -> ); ตกลง ตกลง , ได้รับผลกระทบ 0 แถว (0.73 วินาที)

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

mysql> แทรกลงใน Default_Demo(Name,Age,Salary) values('John',23,405.56);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน Default_Demo(Name,Age,Salary) ค่า('Carol ',25,1000.98);ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.22 วินาที)mysql> แทรกลงในค่า Default_Demo (ชื่อ, อายุ, เงินเดือน) ('Larry',21,987.24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรก Default_Demo(Name,Age,Salary) values('Sam',24,986.10);Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน Default_Demo(Name,Age,Salary) ค่า('Mike',22,10000.50 );แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> แทรกลงในค่า Default_Demo(ชื่อ อายุ เงินเดือน) ('David',26,100.45);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

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

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

<ก่อนหน้า>+----+-------+------+---------+| รหัส | ชื่อ | อายุ | เงินเดือน |+----+-------+------+---------+| 1 | จอห์น | 23 | 405.56 || 2 | แครอล | 25 | 1000.98 || 3 | แลร์รี่ | 21 | 987.24 || 4 | แซม | 24 | 986.1 || 5 | ไมค์ | 22 | 10000.5 || 6 | เดวิด | 26 | 100.45 |+----+-------+------+---------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรีเซ็ตฟิลด์ MySQL เป็นค่าเริ่มต้น

กรณีที่ 1: การใช้คีย์เวิร์ดเริ่มต้น แบบสอบถามมีดังนี้:

mysql> อัปเดต Default_Demo ชุด Age=Default โดยที่ Id=6;Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที) แถวที่ตรงกัน:1 เปลี่ยน:1 คำเตือน:0

ตอนนี้คุณสามารถตรวจสอบระเบียนของตารางได้ คอลัมน์ Age เป็น NULL โดยที่ Id คือ 6 แบบสอบถามจะเป็นดังนี้:

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

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

<ก่อนหน้า>+----+-------+------+---------+| รหัส | ชื่อ | อายุ | เงินเดือน |+----+-------+------+---------+| 1 | จอห์น | 23 | 405.56 || 2 | แครอล | 25 | 1000.98 || 3 | แลร์รี่ | 21 | 987.24 || 4 | แซม | 24 | 986.1 || 5 | ไมค์ | 22 | 10000.5 || 6 | เดวิด | NULL | 100.45 |+----+-------+------+---------+6 แถวในชุด (0.00 วินาที)

ดูรหัส 6 ที่คอลัมน์อายุได้รับการอัปเดตด้วยค่าเริ่มต้นเป็น NULL

กรณีที่ 2: ตอนนี้คุณสามารถใช้ฟังก์ชัน default() ได้ ที่นี่ อัปเดตคอลัมน์เงินเดือนด้วยค่าเริ่มต้นโดยที่ Id คือ 6 การสืบค้นมีดังนี้:

mysql> อัปเดต Default_Demo ตั้งค่า Salary=Default(Salary) โดยที่ Id=6;Query OK ได้รับผลกระทบ 1 แถว (0.21 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0

ตอนนี้ตรวจสอบเรกคอร์ดตารางโดยที่ ID คือ 6.

mysql> เลือก *จาก Default_Demo โดยที่ Id=6;

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

<ก่อนหน้า>+----+-------+------+-------+| รหัส | ชื่อ | อายุ | เงินเดือน |+----+-------+------+-------+| 6 | เดวิด | NULL | NULL |+----+-------+------+-------+1 แถวในชุด (0.00 วินาที)

ดูที่คอลัมน์เงินเดือนว่าค่า NULL เริ่มต้นได้รับการอัพเดตสำเร็จแล้ว