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

列数がMySQLの値数と一致しないというエラーを解決しますか?


このタイプのエラーは、宛先テーブルにレコードを挿入するときに列数が一致しない場合に発生します。デモの例として、テーブルを作成しましょう

mysql> create table errorDemo
   -> (
   -> User_Id int NOT NULL AUTO_INCREMENT,
   -> User_Name varchar(20),
   -> PRIMARY KEY(User_Id)
   -> );
Query OK, 0 rows affected (0.47 sec)

エラーは次のとおりです

mysql> insert into errorDemo values('John');
ERROR 1136 (21S01): Column count doesn't match value count at row 1

このタイプのエラーを回避するには、次の構文を使用する必要があります

insert into yourTableName(yourColumnName1,yourColumnName2,...N)values(yourValue1,yourValue2,....N);

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。

クエリは次のとおりです

mysql> insert into errorDemo(User_Name) values('John');
Query OK, 1 row affected (0.12 sec)
mysql> insert into errorDemo(User_Name) values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into errorDemo(User_Name) values('Sam');
Query OK, 1 row affected (0.15 sec)

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

クエリは次のとおりです

mysql> select *from errorDemo;

以下は出力です

+---------+-----------+
| User_Id | User_Name |
+---------+-----------+
| 1       | John      |
| 2       | Carol     |
| 3       | Sam       |
+---------+-----------+
3 rows in set (0.00 sec)

  1. 列値の最初の文字を取得し、MySQLを使用して別の列に挿入します

    これには、LEFT()関数の概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2036    -> (    -> FirstLetter varchar(20),    -> Title varchar(20)    -> ); Query OK, 0 rows affected (1.01 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa

  2. MySQLの列の最大値を見つける

    MAX(columnName)を使用して、列の最大値を見つける必要があります。ただし、最初は、MySQLのデータベースとテーブルについて理解します。 MySQLをインストールする前に、どのバージョンとどの配布形式(バイナリファイルまたはソースファイルから)を使用するかを決定することが重要です。データベースが新しく作成された場合、データベースにテーブルがないことは明らかです。 最も重要な部分の1つは、データベースの構造、必要なテーブル、すべてのテーブルの列、およびこれらのテーブル間の関係を決定することです。データベースに含める必要のあるもの、データベースの適切な名前、および適切な列名と行の値