由於我們不能將保留字用作表名,所以“create table table”在 MySQL 中是否可行?


我們首先來看一個在建立表時使用“create table table”的情況。將出現一條錯誤 −

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

這將產生以下輸出,即錯誤 −

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

如上所示,“table”是一個保留關鍵字,我們不能將其用作表的名稱。因此,要解決此問題,你需要使用反引號包裝表名稱。

讓我們重新建立表,並將表名設定為帶反引號的“table” −

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

使用 insert 命令在表中插入一些記錄 −

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)

使用 select 語句從表中顯示所有記錄 −

mysql> select *from `table`;

這將產生以下輸出 −

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

更新日期:2019 年 8 月 26 日

102 次瀏覽

開啟你的 職業生涯

完成該課程以獲得認證

開始吧
廣告