由於我們不能將保留字用作表名,所以“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)
廣告