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

エラー1064(42000):ゼロフィル列でSQL構文にエラーがありますか?


以下はエラーであり、ZEROFILLを誤って実装すると発生します-

mysql> create table DemoTable
   -> (
   -> StudentCode int(10) NOT NULL ZEROFILL AUTO_INCREMENT PRIMARY KEY
   -> );
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 'ZEROFILL AUTO_INCREMENT PRIMARY KEY
)' at line 3

正しく実装するには、次の構文を使用します-

構文

yourColumnName int(10) ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY

まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> StudentCode int(10) ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY
   -> );
Query OK, 0 rows affected (0.55 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.10 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------------+
| StudentCode |
+-------------+
| 0000000001  |
| 0000000002  |
| 0000000003  |
| 0000000004  |
| 0000000005  |
+-------------+
5 rows in set (0.00 sec)

  1. MySQLエラーとは何ですか:「データが列に対して長すぎます」?

    「列に対してデータが長すぎます」エラーは、そのデータを格納する機能がない列にさらにデータを挿入すると発生します。 例 - varchar(6)のデータ型がある場合、それは6文字のみを格納することを意味します。したがって、6文字を超える文字を指定すると、エラーが発生します。 エラーを理解するためのテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table DataToolongDemo   −> (   −> Name varchar(10) −>

  2. SQL ServerにはMySQLのENUMデータ型と同等のものがありますか?

    これはMySQLバージョン8.0.12で機能します。構文は次のとおりです。 create table yourTableName ( yourColumnName enum(‘Value1’,Value2’,Value3’,......N) default Value1’ or Value2 or Value3,..N ); 次のクエリを使用して、MySQLで列挙型を設定します。 mysql> create table EnumInMySQL -> ( -> WebCRUD enum('CREATE'