このリファクタリングは、私の頭の中で実行可能なようだが、私は誰かが私のロジックをチェックしたいと思います:新しいアイテムと編集アイテムの両方にREPLACE INTOを使用していますか?
現在のプロセス:
if (item == new) {
INSERT INTO basic_table
$itemUID = get last insert ID // item's UID
INSERT INTO another_table // more stuff
INSERT INTO another_table2 // more stuff
INSERT INTO another_table3 // more stuff
} else {
$itemUID = $_POST['uid']
UPDATE basic_table
REPLACE INTO another_table // more stuff
REPLACE INTO another_table2 // more stuff
REPLACE INTO another_table3 // more stuff
}
(注意 - 彼らので INTO REPLACEは既存のアイテムに使用されます
INSERT INTO // REPLACE INTO
を除いてすべての後続クエリが同一であるため、私は次のようになりました。私はPDOを使用していますし、これらのクエリの各パラメータの多くを持っている、これはスペースのcraploadを救うことを考えると
if (item == new) {
INSERT INTO basic_table
$itemUID = get last insert ID // item's UID
} else {
$itemUID = $_POST['uid']
UPDATE basic_table
}
REPLACE INTO another_table // more stuff
REPLACE INTO another_table2 // more stuff
REPLACE INTO another_table3 // more stuff
:としてリファクタリングすることができ。
しかし、私はまずそれを投稿して、私が何かを見落とさないようにしたかったのです。
このリファクタリングで同じ結果が得られますか?
4つすべてに 'REPLACE'を使用してみませんか? –
INSERT..ON DUPLICATE KEY UPDATE文を見てください。 – Devart