match
is a keyword in MySQL. You can use it as a column name if you backquote it
INSERT INTO todaysmatches (`match`,tournamentname,matchdate) VALUES (%s,%s,%s)
but it would be more convenient if you chose some other name for this column.
Look at what happens when you try to create a table with a column called match
:
mysql> create table foo (match varchar(150), tournamentname varchar(150), matchdate DATE);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match varchar(150), tournamentname varchar(150), matchdate DATE)' at line 1
mysql> create table foo (`match` varchar(150), tournamentname varchar(150), matchdate DATE);
Query OK, 0 rows affected (0.03 sec)