یک جدول به نام students ایجاد کنید که ستون id به‌عنوان کلید اصلی با قابلیت AUTO_INCREMENT (در MySQL) یا SERIAL (در PostgreSQL) تعریف شده باشد و ستون‌های name و age را داشته باشد، سپس سه رکورد نمونه بدون مشخص کردن id درج کنید.

6.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:27

0.0

برای حل این مسئله از SQL استفاده کنید: در MySQL از دستور CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), age INT); و در PostgreSQL از CREATE TABLE students (id SERIAL PRIMARY KEY, name VARCHAR(100), age INT); بهره ببرید. رکوردها را با INSERT INTO students (name, age) VALUES ('Ali', 20), ('Sara', 22), ('Reza', 19); وارد کنید و برای مشاهده نتایج از SELECT * FROM students; استفاده کنید. نکته‌ها: id خودکار افزایش می‌یابد و هنگام درج نیازی به مقداردهی به آن نیست، و در صورت نیاز به مقدار شروع دلخواه از ALTER TABLE ... AUTO_INCREMENT = n (MySQL) یا ALTER SEQUENCE ... RESTART WITH n (PostgreSQL) استفاده کنید؛ همچنین برای دریافت شناسه درج‌شده آخر می‌توانید از LAST_INSERT_ID() در MySQL یا RETURNING id در PostgreSQL بهره ببرید.

توسط پژوهشگر در 201 روز قبل ساعت 03:27
دسته بندی ها: SQL SQL for beginner
sara در 201 روز قبل ساعت 06:22

برای جلوگیری از اشتباه در مقداردهی دست‌دوم به id، از AUTO_INCREMENT (MySQL) یا SERIAL (PostgreSQL) استفاده کنید و نیازی به درج مقدار id نباشد. بعد از INSERT می‌توانید مقدار شناسه‌ی درج‌شده را با RETURNING id در PostgreSQL یا LAST_INSERT_ID() در MySQL بدست آورید. اگر می‌خواهید مقدار شروع متفاوتی داشته باشد، از ALTER TABLE ... AUTO_INCREMENT یا ALTER SEQUENCE ... RESTART WITH استفاده کنید. همچنین پیشنهاد می‌شود در ستون‌های name و age از NOT NULL استفاده کنید و در PostgreSQL به‌جای SERIAL از GENERATED ALWAYS AS IDENTITY استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری