Computer >> Máy Tính >  >> Lập trình >> MySQL

Chúng ta có thể sử dụng "xếp hạng" làm tên cột với MySQL8 không?

Xếp hạng là một từ dành riêng cho MySQL được định nghĩa trong MySQL phiên bản 8.0.2. Do đó, bạn không thể sử dụng xếp hạng làm tên cột. Bạn cần sử dụng dấu gạch ngược xung quanh thứ hạng.

Đầu tiên chúng ta hãy kiểm tra phiên bản MySQL mà chúng ta đang làm việc. Ở đây, tôi đang sử dụng MySQL phiên bản 8.0.12 -

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

Các vấn đề khi sử dụng "xếp hạng" làm tên cột như sau -

mysql> create table DemoTable1596
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(20),
   -> rank int
   -> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version for the right syntax to use near 'rank int
)' at line 5

Ở trên, một lỗi có thể nhìn thấy vì chúng tôi đã sử dụng từ dành riêng làm tên cột.

Trước tiên, chúng ta hãy tạo một bảng và sử dụng dấu gạch ngược xung quanh "xếp hạng" để tránh lỗi -

mysql> create table DemoTable1596
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(20),
   -> `rank` int
   -> );
Query OK, 0 rows affected (0.51 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1596(StudentName,`rank`) values('Bob',4567);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1596(StudentName,`rank`) values('David',1);
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1596;

Điều này sẽ tạo ra kết quả sau -

+----+-------------+------+
| Id | StudentName | rank |
+----+-------------+------+
|  1 | Bob         | 4567 |
|  2 | David       |    1 |
+----+-------------+------+
2 rows in set (0.00 sec)