2009-05-13 42 views
1

私はタイムシートを作成しようとしており、次のSQLクエリを実行したいと考えています:選択的に挿入または更新できますか?

私はフィールドdatebeginningとdateendingとjobidを持っています。 idでなければ、指定されたidのdatedを更新するようにクエリに要求します。 PHPを使用せずに最初に選択してから挿入または更新する方法はありますか?あなたは、MySQLとしてタグ付けされた質問がありますので

答えて

1
INSERT INTO table (jobid, datebeginning, dateending) VALUES (1,'2009/03/03','2009/05/05') 
ON DUPLICATE KEY UPDATE dateending='2009/06/06'; 
+0

JOBIDは、ユニークなIDではありませんが、私はそれで何かを割り当てるidがまだ正しく動作しますか?私は実際に別のフィールドIDを持っていますが、私は正しいものを削除することができます。 – Thomaschaaf

0

を参照してください、あなたも「INTOをREPLACE」を使用して検討するかもしれない、もちろんこれは、このコマンドのインサートとして、すべてのフィールドに記入するあなた次第または1つのフィールドだけを更新するのではなく、削除して挿入します。すべてのフィールドを指定すると、REPLACE INTOも同様に機能します。

http://dev.mysql.com/doc/refman/5.0/en/replace.html

関連する問題