回答編集履歴
1
間違ったこと書いてた
answer
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
いいえ,トランザクション無しでも正しい値が取得されます。**複数のクライアントから同時接続されていても正しい値をとれます。**
|
2
2
|
|
3
|
-
- [MySQLの LAST_INSERT_ID の挙動について少し調べてみる - まるまるこふこふ](http://sairoutine.hatenablog.com/entry/2015/01/25/010557)
|
4
3
|
- [MySQL :: MySQL 5.6 リファレンスマニュアル :: 23.8.7.37 mysql_insert_id()](https://dev.mysql.com/doc/refman/5.6/ja/mysql-insert-id.html)
|
5
4
|
- [php-src/mysql_driver.c at 8bc2155bf955eb388e1197a6f5987105aecf5742 · php/php-src](https://github.com/php/php-src/blob/8bc2155bf955eb388e1197a6f5987105aecf5742/ext/pdo_mysql/mysql_driver.c#L289)
|
6
5
|
|
7
|
-
`PDO::lastInsertId`は内部的にMySQLのAPIである`mysql_insert_id`関数を使っていますが,
|
6
|
+
`PDO::lastInsertId`は内部的にMySQLのAPIである`mysql_insert_id`関数を使っていますが,マニュアルに
|
7
|
+
|
8
|
+
> `mysql_insert_id()` の値は、現在のクライアント接続内で発行されたステートメントによってのみ影響を受けます。それは、ほかのクライアントによって発行されたステートメントに影響を受けません。
|
9
|
+
|
10
|
+
との記述があり,これによりトランザクションを張らずとも他クライアントの影響を受けないことがわかります。
|