Arxiv

Posts Tagged ‘auto increment’

TRUNCATE TABLE və DELETE FROM TABLE

TRUNCATE TABLE və DELETE TABLE haqqında maraqlı bir məlumat oxudum və dərhal da yazıram 🙂
Qayda olaraq belədir ki, əgər bir table-ı tamamilə silmək istəyiriksə, TRUNCATE TABLE-dan istifadə etmək lazımdır. AUTO_İNCREMENT-in saygaci bu halda 0-lanır. DELETE FROM TABLE-da isə bu belə olmurmuş.

1.

CREATE DATABASE music;

2.

USE music;

3.

CREATE TABLE composer (id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(15),
lastname VARCHAR(25), PRIMARY KEY (id)
);

Cədvəlimizi yaratdıqdan sonra ora 3 yazı əlavə edək:
4.

INSERT INTO composer (name,lastname) VALUES('Fikret','Emirov');

INSERT INTO composer (name,lastname) VALUES('Emin','Sabitoglu');

INSERT INTO composer (name,lastname) VALUES('Xanim','Ismayilqizi');

Və select edək:
5.

SELECT *
FROM composer;

blog_picture_1

Daha sonra delete verək:
6.

DELETE
FROM composer;

blog_picture_2

İndi isə yenidən insert edək:
7.

INSERT INTO composer (name,lastname) VALUES('Fikret','Emirov');

INSERT INTO composer (name,lastname) VALUES('Emin','Sabitoglu');

INSERT INTO composer (name,lastname) VALUES('Xanim','Ismayilqizi');

8.

SELECT *
FROM composer;

blog_picture_3

İD-lərə fikir versək 4,5,6 olaraq görəcik ki, bu da o deməkdir ki AUTO_İNCREMENT-in sayğacı DELETE FROM TABLE 0-lanmır.

İndi isə cədvəli silək, yenidən yaradaq və insert verək.

9.

DROP TABLE composer;

10.

CREATE TABLE composer (id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(15),
lastname VARCHAR(25), PRIMARY KEY (id)
);

11.

INSERT INTO composer (name,lastname) VALUES('Fikret','Emirov');

INSERT INTO composer (name,lastname) VALUES('Emin','Sabitoglu');

INSERT INTO composer (name,lastname) VALUES('Xanim','Ismayilqizi');

12.

TRUNCATE TABLE composer;

blog_picture_4

Və yenidən insert versək:

blog_picture_5

Gördüyümüz kimi TRUNCATE TABLE zamanı AUTO_İNCREMENT 0-lanır 🙂
Təşəkkürlər 🙂

Kateqoriyalar: MySQL Etiketlər: , , ,