mysqlでレコードがない場合のみ挿入したい
mysqlでレコードを挿入する際に、挿入したいデータが既にレコードがある場合は挿入せず、ない場合にのみ挿入したいです。
下記のsqlをコマンドラインから実行しました。
insert into fileinfo (filename, url) values ("a", "aa") where not exists (select * from fileinfo where filename = "a");
下記のエラーがでました。
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'where not exists (select * from fileinfo where filename = "a")' at line 1
どこが間違っているのかわかりません
CentOS7
mysql --version
mysql Ver 15.1 Distrib 10.1.34-MariaDB, for Linux (x86_64) using readline 5.1
です。
DB構造は下記の通りです。
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| filename | varchar(255) | YES | | NULL | |
| url | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
よろしくお願いいたします。