回答編集履歴
1
コードレビュー追記
answer
CHANGED
|
@@ -21,4 +21,17 @@
|
|
|
21
21
|
参考:
|
|
22
22
|
・[今夜分かるSQLインジェクション対策](http://www.atmarkit.co.jp/ait/articles/0611/02/news127.html)
|
|
23
23
|
・[prepareStatementの使用](http://www.javadrive.jp/servlet/database/index10.html)
|
|
24
|
-
更に[sql2o](http://www.sql2o.org/)のようなDBアクセスを簡単に書けるライブラリを利用するとコード量と手間を減らせます。
|
|
24
|
+
更に[sql2o](http://www.sql2o.org/)のようなDBアクセスを簡単に書けるライブラリを利用するとコード量と手間を減らせます。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
コードレビュー追記
|
|
28
|
+
|
|
29
|
+
insertの時にtitleのサイズを越えているとエラーが発生します。
|
|
30
|
+
事前にサイズチェックする方がよいです。
|
|
31
|
+
|
|
32
|
+
SELECTはinsertで追加したレコードのPKを取得していると思われます。
|
|
33
|
+
このクエリでは同じtitleのレコードが既に存在した場合に古いレコードのroom_idを取得してしまいます。
|
|
34
|
+
直前にinsertしたレコードのPKを取得するならSELECT last_insert_id()が適切です。
|
|
35
|
+
|
|
36
|
+
create tableは同じテーブル名が存在するとエラーが発生します。
|
|
37
|
+
おそらくroom_idはauto incrementされたものなので問題ないと思いますが、create table if not existsで確実にエラーが発生しないコードにする方がよいです。
|