Ինչպե՞ս կարող եմ սահմանել լռելյայն արժեքը MySQL-ում սյունակի համար:


Նախնական արժեքը սահմանելու համար օգտագործեք DEFAULT հիմնաբառը:

Եկեք նախ ստեղծենք աղյուսակ.

mysql> create table DemoTable758 (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
);
Query OK, 0 rows affected (0.66 sec)

Սյունակի համար լռելյայն արժեք սահմանելու հարցումը հետևյալն է.

mysql> alter table DemoTable758 add column Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
Query OK, 0 rows affected (0.44 sec)
Records: 0 Duplicates: 0 Warnings: 0

Եկեք ևս մեկ անգամ ստուգենք աղյուսակի նկարագրությունը.

mysql> desc DemoTable758;

Սա կստեղծի հետևյալ արդյունքը.

+-----------+----------------------------------------------+------+-----+---------+----------------+
| Field     | Type                                         | Null | Key | Default | Extra          |
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Id        | int(11)                                      | NO   | PRI | NULL    | auto_increment |
| FirstName | varchar(100)                                 | YES  |     | NULL    |                |
| Colors    | enum('RED','GREEN','BLUE','ORANGE','YELLOW') | YES  |     | YELLOW  |                |
+-----------+----------------------------------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը: Այստեղ մենք չենք մտցրել 2-րդ սյունակի արժեքը՝ «John» անունով: Այնտեղ կտեղադրվի լռելյայն «ԴԵՂԻՆ» արժեքը.

mysql> insert into DemoTable758(FirstName) values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable758(FirstName,Colors) values('Carol','RED');
Query OK, 1 row affected (0.17 sec)

Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.

mysql> select *from DemoTable758;

Սա կստեղծի հետևյալ արդյունքը.

+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
|  1 | John      | YELLOW |
|  2 | Carol     | RED    |
+----+-----------+--------+
2 rows in set (0.00 sec)