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

Liệu "tạo bảng bảng" có hoạt động trong MySQL vì chúng ta không thể sử dụng các từ dành riêng làm tên bảng không?


Trước tiên, chúng ta hãy xem một trường hợp trong đó chúng ta sử dụng "tạo bảng bảng" trong khi tạo bảng. Một lỗi sẽ phát sinh -

mysql> create table table(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
);

Điều này sẽ tạo ra kết quả đầu ra sau, tức là lỗi -

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 'table(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
)' at line 1

Như bạn có thể thấy ở trên, từ “table” là một từ khóa dành riêng và chúng ta không thể sử dụng nó làm tên của bảng. Do đó, để khắc phục điều này, bạn cần sử dụng dấu gạch ngược để bọc tên bảng.

Hãy để chúng tôi tạo lại bảng và đặt tên bảng là `table` với dấu gạch ngược -

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

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

mysql> insert into `table`(FirstName) values('Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into `table`(FirstName) values('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> insert into `table`(FirstName) values('David');
Query OK, 1 row affected (0.15 sec)
mysql> insert into `table`(FirstName) values('Mike');
Query OK, 1 row affected (0.13 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 `table`;

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

+----+-----------+
| Id | FirstName |
+----+-----------+
|  1 | Chris     |
|  2 | Robert    |
|  3 | David     |
|  4 | Mike      |
+----+-----------+
4 rows in set (0.00 sec)