the properly normalized structure is ~way~ better
please note that the "userlanguages" table should ~not~ have its own auto_increment
Code:
CREATE TABLE user_languages
( user_id INTEGER NOT NULL
, lang_id INTEGER NOT NULL
, PRIMARY KEY ( user_id, lang_id )
, INDEX language_users ( lang_id, user_id )
, FOREIGN KEY ( user_id ) REFERENCES users ( id )
, FOREIGN KEY ( lang_id ) REFERENCES languages ( id )
);