3

私はテーブルを持っています、その構造は、

companies - table
id
name
url
logo

このテーブルから、挿入する前に、名前が既に存在するか、URL が存在するか、ロゴが存在するかを確認したいと考えています。名前、URL、およびロゴは一意である必要があります。次のように確認できます。

SELECT * FROM companies WHERE name='$name' OR url='$url' OR logo='$logo'

そしてレコード数を数えます。上記のクエリから、重複しているフィールドを検出できる方法はありますか? そのため、ビューにエラーを表示する際にそのフィールドを重複して表示できます。

ありがとう

4

3 に答える 3

2

挿入が失敗する原因となる一意のキーを作成できます。これにより、2 つのクエリが不要になります。

ALTER TABLE `companies` ADD UNIQUE (
 `url`, 
 `name`,
 `logo` 
);
于 2013-08-18T17:46:01.240 に答える