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

MAX(col)+1を同じMySQLテーブルに挿入しますか?


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

mysql> create table DemoTable1484
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (0.46 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1484 values(100);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable1484 values(175);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1484 values(165);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1484 values(145);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1484 values(170);
Query OK, 1 row affected (0.10 sec)

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

mysql> select * from DemoTable1484;

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

+------+
| Id   |
+------+
|  100 |
|  175 |
|  165 |
|  145 |
|  170 |
+------+
5 rows in set (0.00 sec)

これは、MAX(col)+1を同じテーブルに挿入するためのクエリです-

mysql> insert into DemoTable1484(Id) select max(Id)+1 from DemoTable1484;
Query OK, 1 row affected (0.20 sec)
Records: 1  Duplicates: 0  Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select * from DemoTable1484;

これにより、次の出力が生成されます。新しい値が正常に挿入されました-

+------+
| Id   |
+------+
|  100 |
|  175 |
|  165 |
|  145 |
|  170 |
|  176 |
+------+
6 rows in set (0.00 sec)

  1. 別のテーブルに行を挿入するMySQLトリガー?

    まず、テーブルを作成しましょう。 CREATEコマンドを使用してテーブルを作成します。 create table Table1 -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.62 sec) 別のテーブルを作成しましょう。 create table Table2 -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected

  2. PythonでMySQLデータベースに挿入した後にIDを取得するにはどうすればよいですか?

    まず、以下の要件を満たす必要があります。前提条件は次のとおりです。 MySQLバージョン8.0.12をインストールする必要があります。 Pythonバージョン3.6.3(32ビット)をインストールする必要があります。 pipコマンドを使用してpymysqlをインストールする必要があります。 「pymysql」をインストールするには 」とpipコマンドを使用します。 データベース名は「business」で、テーブル名はレコードを挿入した後のID3の「student」です。 これがクエリです。 select *from student; 以下は出力です。 +------+