MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

予約語をテーブル名として使用できないため、「テーブルテーブルの作成」はMySQLで機能しますか?


まず、テーブルの作成中に「テーブルテーブルの作成」を使用する場合を見てみましょう。エラーが発生します-

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`として設定します-

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

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
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)

  1. MySQLの列名として予約語「index」を使用できますか?

    はい。ただし、列名として使用する際のエラーを回避するために、予約語(インデックス)にバックティック記号を追加する必要があります。 まずテーブルを作成しましょう- mysql> create table DemoTable (    `index` int ); Query OK, 0 rows affected (0.48 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(1000); Query OK, 1 row affected (0.18 sec) m

  2. 2019のようにMySQLで現在の年から動的なテーブル名を作成します

    年(2019)のようなテーブル名を作成するには、PREPAREステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1959    (    UserName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1959 values('Chris'); Quer