Готовая ведомость за тонны колонн

У меня есть таблица с 74 столбцами, и я хочу вставить в нее данные. Есть ли способ вставить только 5 столбцов в эту таблицу и оставить остальные как нулевые? Столбцы тоже не в порядке, это может быть

    ps.setInt(1, 1);
    ps.setInt(7, "Steve");
    ps.setInt(10, time);

так далее....

Должен ли я заполнить данные для каждого столбца?

Структура таблицы:

CREATE TABLE IF NOT EXISTS `vbulletin_user` (
    `userid` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `usergroupid` smallint(5) unsigned NOT NULL DEFAULT '0',
    `membergroupids` char(250) NOT NULL DEFAULT '',
    `displaygroupid` smallint(5) unsigned NOT NULL DEFAULT '0',
    `username` varchar(100) NOT NULL DEFAULT '',
    `password` char(32) NOT NULL DEFAULT '',
    `passworddate` date NOT NULL DEFAULT '0000-00-00',
    `email` char(100) NOT NULL DEFAULT '',
    `styleid` smallint(5) unsigned NOT NULL DEFAULT '0',
    `parentemail` char(50) NOT NULL DEFAULT '',
    `homepage` char(100) NOT NULL DEFAULT '',
    `icq` char(20) NOT NULL DEFAULT '',
    `aim` char(20) NOT NULL DEFAULT '',
    `yahoo` char(32) NOT NULL DEFAULT '',
    `msn` char(100) NOT NULL DEFAULT '',
    `skype` char(32) NOT NULL DEFAULT '',
    `showvbcode` smallint(5) unsigned NOT NULL DEFAULT '0',
    `showbirthday` smallint(5) unsigned NOT NULL DEFAULT '2',
    `usertitle` char(250) NOT NULL DEFAULT '',
    `customtitle` smallint(6) NOT NULL DEFAULT '0',
    `joindate` int(10) unsigned NOT NULL DEFAULT '0',
    `daysprune` smallint(6) NOT NULL DEFAULT '0',
    `lastvisit` int(10) unsigned NOT NULL DEFAULT '0',
    `lastactivity` int(10) unsigned NOT NULL DEFAULT '0',
    `lastpost` int(10) unsigned NOT NULL DEFAULT '0',
    `lastpostid` int(10) unsigned NOT NULL DEFAULT '0',
    `posts` int(10) unsigned NOT NULL DEFAULT '0',
    `reputation` int(11) NOT NULL DEFAULT '10',
    `reputationlevelid` int(10) unsigned NOT NULL DEFAULT '1',
    `timezoneoffset` char(4) NOT NULL DEFAULT '',
    `pmpopup` smallint(6) NOT NULL DEFAULT '0',
    `avatarid` smallint(6) NOT NULL DEFAULT '0',
    `avatarrevision` int(10) unsigned NOT NULL DEFAULT '0',
    `profilepicrevision` int(10) unsigned NOT NULL DEFAULT '0',
    `sigpicrevision` int(10) unsigned NOT NULL DEFAULT '0',
    `options` int(10) unsigned NOT NULL DEFAULT '33570831',
    `birthday` char(10) NOT NULL DEFAULT '',
    `birthday_search` date NOT NULL DEFAULT '0000-00-00',
    `maxposts` smallint(6) NOT NULL DEFAULT '-1',
    `startofweek` smallint(6) NOT NULL DEFAULT '1',
    `ipaddress` char(15) NOT NULL DEFAULT '',
    `referrerid` int(10) unsigned NOT NULL DEFAULT '0',
    `languageid` smallint(5) unsigned NOT NULL DEFAULT '0',
    `emailstamp` int(10) unsigned NOT NULL DEFAULT '0',
    `threadedmode` smallint(5) unsigned NOT NULL DEFAULT '0',
    `autosubscribe` smallint(6) NOT NULL DEFAULT '-1',
    `pmtotal` smallint(5) unsigned NOT NULL DEFAULT '0',
    `pmunread` smallint(5) unsigned NOT NULL DEFAULT '0',
    `salt` char(30) NOT NULL DEFAULT '',
    `ipoints` int(10) unsigned NOT NULL DEFAULT '0',
    `infractions` int(10) unsigned NOT NULL DEFAULT '0',
    `warnings` int(10) unsigned NOT NULL DEFAULT '0',
    `infractiongroupids` varchar(255) NOT NULL DEFAULT '',
    `infractiongroupid` smallint(5) unsigned NOT NULL DEFAULT '0',
    `adminoptions` int(10) unsigned NOT NULL DEFAULT '0',
    `profilevisits` int(10) unsigned NOT NULL DEFAULT '0',
    `friendcount` int(10) unsigned NOT NULL DEFAULT '0',
    `friendreqcount` int(10) unsigned NOT NULL DEFAULT '0',
    `vmunreadcount` int(10) unsigned NOT NULL DEFAULT '0',
    `vmmoderatedcount` int(10) unsigned NOT NULL DEFAULT '0',
    `socgroupinvitecount` int(10) unsigned NOT NULL DEFAULT '0',
    `socgroupreqcount` int(10) unsigned NOT NULL DEFAULT '0',
    `pcunreadcount` int(10) unsigned NOT NULL DEFAULT '0',
    `pcmoderatedcount` int(10) unsigned NOT NULL DEFAULT '0',
    `gmmoderatedcount` int(10) unsigned NOT NULL DEFAULT '0',
    `assetposthash` varchar(32) NOT NULL DEFAULT '',
    `fbuserid` varchar(255) NOT NULL DEFAULT '',
    `fbjoindate` int(10) unsigned NOT NULL DEFAULT '0',
    `fbname` varchar(255) NOT NULL DEFAULT '',
    `logintype` enum('vb','fb') NOT NULL DEFAULT 'vb',
    `fbaccesstoken` varchar(255) NOT NULL DEFAULT '',
    `newrepcount` smallint(5) unsigned NOT NULL DEFAULT '0',
    `bloggroupreqcount` int(10) unsigned NOT NULL DEFAULT '0',
    `showblogcss` int(11) NOT NULL DEFAULT '1',
    PRIMARY KEY (`userid`),
    KEY `usergroupid` (`usergroupid`),
    KEY `username` (`username`),
    KEY `birthday` (`birthday`,`showbirthday`),
    KEY `birthday_search` (`birthday_search`),
    KEY `referrerid` (`referrerid`),
    KEY `fbuserid` (`fbuserid`),
    KEY `email` (`email`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

1 ответ

Как заявил в комментарии Луиджи Мендоса, запрос будет работать.
пример в этом запросе:

ps=conn.prepareStatement("INSERT INTO vbulletin_user(userid,username,password,email) VALUES(?,?,?,?)");
ps.setInt(1,1);
ps.setString(2,"scott");
ps.setString(3,"tiger");
ps.setString(4,"[email protected]");

значения по умолчанию будут вставлены для других столбцов, как они упоминаются в схеме.
И вы должны установить значение по умолчанию для Date к какой-то конкретной дате вместо 0000-00-00 как в вашем passworddate а также birthday_search столбец, так как это приведет к некоторому исключению при доступе по Java

java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Date


Вот скрипка, в этом я просто изменил значение для default date за passworddate а также birthday_search колонны.

Другие вопросы по тегам