1

3 つの列を持つ非常に単純なテーブルがtag_id, label, timestampあり、列に新しい値がある場合にのみ挿入するクエリをできるだけ軽量にする必要がありますlabel

これを行うには、どのように SQL クエリを作成しますか? サイトで既にいくつかの例を見ることができますが、それらはすべて、理解できないより複雑なクエリ (一部はサブクエリを含む) に混同されています。

それにはさまざまな方法があるようで、サーバーに負担をかけずに複数のタグを一度に挿入するためにループで繰り返すことができるように、最も軽量な方法を見つける必要があります。

4

2 に答える 2

3

使用できます

ALTER TABLE `tableName` ADD UNIQUE KEY (label);

これにより、スキーマ内のその列に一意の値が適用されます。重複する値を挿入しようとすると、エラーが発生します。エラーを単に無視したい場合は、 を使用できますINSERT IGNORE INTO

于 2013-06-11T11:05:21.610 に答える
-1

次のものも使用できます。

INSERT INTO table(`label`) VALUES ("new value") 
 ON DUPLICATE KEY UPDATE `label` = "new value";
于 2013-06-11T11:12:48.360 に答える