ฉันจะตั้งค่าเริ่มต้นสำหรับคอลัมน์ "id" ในตาราง MySQL ที่เริ่มจาก 1001 ได้อย่างไร
ฉันต้องการแทรก "INSERT INTO users (name, email) VALUES ('{$name}', '{$email}')";
โดยไม่ระบุค่าเริ่มต้นสำหรับคอลัมน์ id
ฉันจะตั้งค่าเริ่มต้นสำหรับคอลัมน์ "id" ในตาราง MySQL ที่เริ่มจาก 1001 ได้อย่างไร
ฉันต้องการแทรก "INSERT INTO users (name, email) VALUES ('{$name}', '{$email}')";
โดยไม่ระบุค่าเริ่มต้นสำหรับคอลัมน์ id
คำตอบ:
ใช้สิ่งนี้:
ALTER TABLE users AUTO_INCREMENT=1001;
หรือถ้าคุณยังไม่ได้เพิ่มคอลัมน์ id ให้เพิ่มเข้าไปด้วย
ALTER TABLE users ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ADD INDEX (id);
there can be only one auto column and it must be defined as a key
เพิ่มเป็นเพราะไม่ได้ถ้าคุณมีคีย์หลักในตารางที่มีอยู่คุณจะได้รับ คุณต้องการดัชนีดังนั้นมันจะเป็นคีย์ MUL
ขั้นตอนที่ 1 สร้างตารางของคุณ:
create table penguins(
my_id int(16) auto_increment,
skipper varchar(4000),
PRIMARY KEY (my_id)
)
ขั้นตอนที่ 2 ตั้งค่าหมายเลขเริ่มต้นสำหรับคีย์หลักที่เพิ่มขึ้นอัตโนมัติ:
ALTER TABLE penguins AUTO_INCREMENT=1001;
ขั้นตอนที่ 3 แทรกแถว:
insert into penguins (skipper) values("We need more power!");
insert into penguins (skipper) values("Time to fire up");
insert into penguins (skipper) values("kowalski's nuclear reactor.");
ขั้นตอนที่ 4 ตีความผลลัพธ์:
select * from penguins
พิมพ์:
'1001', 'We need more power!'
'1002', 'Time to fire up'
'1003', 'kowalski\'s nuclear reactor'
insert into penguins (my_id, skipper) values(999, "explicit id");
(เมื่อใช้0
แทน999
การเพิ่มค่าอัตโนมัติจะถูกแทรก)
ปรับแต่ง MySQL
หากคุณต้องการหลีกเลี่ยงการเขียน sql คุณสามารถทำได้ใน MySQL Workbench โดยคลิกขวาบนโต๊ะเลือก "Alter Table ... " ในเมนู
เมื่อมุมมองโครงสร้างตารางเปิดขึ้นให้ไปที่แท็บ "ตัวเลือก" (ที่ด้านล่างล่างของมุมมอง) และตั้งค่าฟิลด์ "การเพิ่มขึ้นอัตโนมัติ" เป็นค่าของหมายเลขการสร้างอัตโนมัติถัดไป
อย่าลืมกด "นำไปใช้" เมื่อคุณทำการเปลี่ยนแปลงทั้งหมดเสร็จแล้ว
phpMyAdmin คือ
หากคุณใช้ phpMyAdmin คุณสามารถคลิกที่ตารางในการนำทางซ้ายไปที่แท็บ "การดำเนินการ" และภายใต้ตัวเลือกตารางให้เปลี่ยนค่า AUTO_INCREMENT และคลิกตกลง
ก่อนอื่นคุณต้องเพิ่มคอลัมน์เพื่อเพิ่มอัตโนมัติ
alter table users add column id int(5) NOT NULL AUTO_INCREMENT FIRST
แบบสอบถามนี้เพื่อเพิ่มคอลัมน์ในตอนแรก ตอนนี้คุณต้องรีเซ็ตค่าเริ่มต้นการเพิ่มอัตโนมัติ ดังนั้นใช้แบบสอบถามนี้
alter table users AUTO_INCREMENT=1001
ตอนนี้ตารางของคุณเริ่มต้นด้วย 1,001
คุณสามารถตั้งค่าได้ในcreate table
คำสั่ง
`CREATE TABLE(...) AUTO_INCREMENT=1000`
นอกจากนี้ในPHPMyAdminคุณสามารถเลือกตารางจากด้านซ้าย (รายการตาราง) จากนั้นไปที่นั่น
แท็บการดำเนินงาน -> ตัวเลือกตาราง -> AUTO_INCREMENT
ตอนนี้ตั้งค่าของคุณแล้วกดไปภายใต้ตัวเลือกตาราง Bo x
สำหรับสิ่งนี้คุณต้องตั้งAUTO_INCREMENT
ค่า
ALTER TABLE tablename AUTO_INCREMENT = <INITIAL_VALUE>
ตัวอย่าง
ALTER TABLE tablename AUTO_INCREMENT = 101
ADD INDEX
นี่ทำอะไร ฉันต้องเพิ่มมันในคำสั่งเดียวกับid
คอลัมน์หรือฉันสามารถกำหนดid
คอลัมน์ในCREATE TABLE
บล็อกแล้วADD INDEX(id)
?