Field 'id' doesn't have a default value?
Solution 1:
As id
is the primary key, you cannot have different rows with the same value. Try to change your table so that the id
is auto incremented:
id int NOT NULL AUTO_INCREMENT
and then set the primary key as follows:
PRIMARY KEY (id)
All together:
CREATE TABLE card_games (
id int(11) NOT NULL AUTO_INCREMENT,
nafnleiks varchar(50),
leiklysing varchar(3000),
prentadi varchar(1500),
notkunarheimildir varchar(1000),
upplysingar varchar(1000),
ymislegt varchar(500),
PRIMARY KEY (id));
Otherwise, you can indicate the id
in every insertion, taking care to set a different value every time:
insert into card_games (id, nafnleiks, leiklysing, prentadi, notkunarheimildir, upplysingar, ymislegt)
values(1, 'Svartipétur', 'Leiklýsingu vantar', 'Er prentað í: Þórarinn Guðmundsson (2010). Spilabókin - Allir helstu spilaleikir og spil.', 'Heimildir um notkun: Árni Sigurðsson (1951). Hátíðir og skemmtanir fyrir hundrað árum', 'Aðrar upplýsingar', 'ekkert hér sem stendur' );
Solution 2:
There are 2 solutions mentioned below:
Solution 1
MySQL is most likely in STRICT SQL mode. Try to execute SQL query SET GLOBAL sql_mode=''
or edit your my.cnf / my.ini to make sure you aren't setting STRICT_ALL_TABLES
and/or STRICT_TRANS_TABLES
.
Solution 2
If Solution-1 is not working then try Solution-2 as given in below steps:
- Run MySQL Administrator tool as Administrator.
- Then go to Startup Variable.
- Then go to the Advance tab.
- find SQL Mode and remove the
STRICT_ALL_TABLES
and/orSTRICT_TRANS_TABLES
and then Click on Apply Changes. - Restart MySQL Server.
- Done.
Note: I have tested these solutions in MySQL Server 5.7