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

エラー1136を修正:列数が行1の値数と一致しませんか?


auto_increment列の値が欠落している場合は、tis値を取得する可能性があります。エラーは次のとおりです-

mysql> insert into DemoTable1353 values('Chris',23);
ERROR 1136 (21S01): Column count doesn't match value count at row 1

auto_incrementの値を指定するか、自動生成に任せる必要があります。

例を見て、テーブルを作成しましょう-

mysql> create table DemoTable1353
    -> (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(20),
    -> Age int,
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (0.52 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。自動増分値は挿入されておらず、自動的に生成されます-

mysql> insert into DemoTable1353(Name,Age) values('Chris',23);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable1353(Name,Age) values('David',21);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1353(Name,Age) values('Bob',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1353(Name,Age) values('John',47);
Query OK, 1 row affected (0.11 sec)

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

mysql> select * from DemoTable1353;

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

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  1 | Chris |   23 |
|  2 | David |   21 |
|  3 | Bob   |   24 |
|  4 | John  |   47 |
+----+-------+------+
4 rows in set (0.00 sec)

  1. 対応する列の値からNO値のみのカウントを返すMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1829      (      Name varchar(20),      isTopper ENUM('YES','NO')      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTabl

  2. MySQLで列が複数の値を満たす必要がある場合に行を選択するにはどうすればよいですか?

    このために、IN()とともにGROUPBYHAVING句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1885    (    FirstName varchar(20),    Subject varchar(50)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1885 val