Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

테이블 이름 "match"가 작은 따옴표로 묶이지 않으면 MySQL에서 오류가 발생합니까?

<시간/>

작은따옴표를 사용하지 마십시오. 테이블 이름 일치는 MySQL에서 예약된 이름이므로 백틱을 사용해야 합니다. 다음은 발생하는 오류입니다.

mysql> select *from match;
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 'match' at line 1

먼저 테이블을 만들고 여기에서 테이블 이름으로 사용되는 예약어 일치 주위에 백틱을 사용하여 위의 오류 발생을 수정하겠습니다. -

mysql> create table `match`
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   PlayerName varchar(20)
);
Query OK, 0 rows affected (0.62 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 이제 예약어가 사용되는 곳마다 백틱으로 묶습니다 -

mysql> insert into `match`(PlayerName) values('Chris');
Query OK, 1 row affected (0.13 sec)
mysql> insert into `match`(PlayerName) values('Bob');
Query OK, 1 row affected (0.16 sec)
mysql> insert into `match`(PlayerName) values('David');
Query OK, 1 row affected (0.24 sec)
mysql> insert into `match`(PlayerName) values('Mike');
Query OK, 1 row affected (0.15 sec)
mysql> insert into `match`(PlayerName) values('Sam');
Query OK, 1 row affected (0.14 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from `match`;

이것은 다음과 같은 출력을 생성합니다 -

+----+------------+
| Id | PlayerName |
+----+------------+
|  1 | Chris      |
|  2 | Bob        |
|  3 | David      |
|  4 | Mike       |
|  5 | Sam        |
+----+------------+
5 rows in set (0.00 sec)