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    |                |
+----------+--------------+------+-----+---------+----------------+

よろしくお願いいたします。