複数行の挿入の場合、MySQL LAST_INSERT_ID()関数の出力にどのような影響がありますか?
MySQL LAST_INSERT_ID()関数は最新の生成されたシーケンス番号を返すことがわかっていますが、複数の行挿入の場合は、前のによって生成されたシーケンス番号を返します。 挿入された行。
mysql> Insert into Student(Name) values('Ram'),('Mohan'),('Aryan'); Query OK, 3 rows affected (0.03 sec) Records: 3 Duplicates: 0 Warnings: 0
上記のクエリは、複数行の挿入クエリを使用して、Studentテーブルに3つの値を挿入します。列「Id」の値は、次のクエリを使用して確認できます-
mysql> Select * from Student; +----+-------+ | Id | Name | +----+-------+ | 1 | Raman | | 2 | Rahul | | 3 | Ram | | 4 | Mohan | | 5 | Aryan | +----+-------+ 5 rows in set (0.00 sec)
Last_Insert_Id()は出力として5を返す必要がありますが、ご覧のとおり、次のように値3を返します-
mysql> Select Last_Insert_Id(); +------------------+ | Last_Insert_Id() | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)
3は、上記の複数行挿入クエリで最初に挿入された行の値であるため、値3を返します。
-
MySQLのCHAR()の逆関数は何ですか
CHAR()の逆関数は、MySQLのASCII()またはORD()です。ここで、ASCII()は左端の文字の数値を返しますが、ORD()は引数の左端の文字の文字コードを返します まずテーブルを作成しましょう- mysql> create table DemoTable ( Value int, Value1 char(1), Value2 char(1) ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys
-
MySQLクエリにIFステートメントを挿入する適切な方法は何ですか?
MySQLクエリにIFステートメントを挿入するには、次の構文を使用します:: select yourColumnName ,if(yourCondition, yourStatement1,yourStatement2) from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1571 -> ( -> Id int, -> Value int -> ); Query OK, 0 rows