質問編集履歴
3
タグテーブルにユニーク制約を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,6 +56,9 @@
|
|
56
56
|
(1, 1),(1, 2),
|
57
57
|
(2, 2),(2, 4),(2, 5),
|
58
58
|
(3, 3);
|
59
|
+
|
60
|
+
-- タグテーブルにユニーク制約を追加( sazi様からのご指摘 2022/07/31 20:54 を受けての追加 )
|
61
|
+
ALTER TABLE my_tags ADD CONSTRAINT UNIQUE u_01 (`tag_kind_id`, `tag_name`);
|
59
62
|
```
|
60
63
|
|
61
64
|
### 具体例とご質問
|
2
インジェクションリスクについての言及を加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -163,3 +163,5 @@
|
|
163
163
|
|
164
164
|
宜しくお願い致します。
|
165
165
|
|
166
|
+
(尚インジェクションリスクがある点はスルーしてください。)
|
167
|
+
|
1
ROW_COUNT() の部分を加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -129,7 +129,7 @@
|
|
129
129
|
しかしこの方法は、整合性を保つために「既存確認」の前に`LOCK TABLES` が必要となり負荷が懸念されます。
|
130
130
|
|
131
131
|
### 自分で考えられる方法2
|
132
|
-
続いて考えれる方法としては、上記のような SELECT での「既存確認」はせず、最後の my_tag_holders への INSERT の際に INSERT IGNORE を使って「既存確認」をするというものです。
|
132
|
+
続いて考えれる方法としては、上記のような SELECT での「既存確認」はせず、最後の my_tag_holders への INSERT の際に INSERT IGNORE を使って「既存確認」をするというものです。 最後に `ROW_COUNT()` して0ならロールバックし整合性を保つつもりです。
|
133
133
|
```php
|
134
134
|
// my_fruits を INSERT して、$fruits_id を得る
|
135
135
|
$dbh->query("
|