2016-08-03 9 views
1
$stmt = $db->prepare("UPDATE reservations SET name = :name, start = :start, end = :end, room_id = :room, status = :status, paid = :paid, customer = :customer, name_ship = :name_ship, equipment = :equipment, port = :port, ETA = :ETA, ETD = :ETD, service_id = :service_id, service_classification = :service_classification, job = :job WHERE id = :id"); 

こんにちは! 私はこのクエリを持っており、INSERT形式に変換したいと思います。 このようにしたときは、何も起こりません。あなたはWHERE句をドロップする必要がありますINSERTをやっているので、あなたのアドバイスSQLの更新を挿入する

"INSERT INTO reservations (name, start,...) VALUES (:name, :start,...) WHERE id = :id"; 
+0

なぜあなたの 'insert'文に' where'基準がありますか?どのデータ型が 'id'ですか?自動インクリメントの場合は、 'where'基準を削除してください。そうでない場合は、列と値のリストにその値を含める必要があります。 – sgeddes

+0

"INSERT形式"とはどういう意味ですか? 'INSERT'と' UPDATE'は2つの全く異なることを行います:あなたが達成したい操作であるものを使います。 –

+0

'INSERT INTO ... WHERE'は意味がありません。条件付き挿入はできませんが、条件付きで*挿入することができます。あなたは['ON DUPLICATE KEY'](http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html)機能について考えていますか? – tadman

答えて

1

いただきありがとうございます。

INSERT INTO reservations (name, start,...) VALUES (:name, :start,...) 
関連する問題