如何解决在不设置主键的情况下插入值
天哪,只需将其设置为null,就可以了!!!!
INSERT INTO `users` (`id`, `name`, `email`, `pass`, `reg_time`) VALUES
(null, 'user', 'user@server.com', 'pass', null);
解决方法
我有这样的最小数据库
CREATE TABLE IF NOT EXISTS `users` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,`email` varchar(128) COLLATE utf8_unicode_ci NOT NULL,`pass` varchar(128) COLLATE utf8_unicode_ci NOT NULL,`reg_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `email` (`email`),UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=40 ;
然后我尝试插入新用户,仅设置用户名/电子邮件/密码
“;“插入到
users
设置名称=’用户名’,电子邮件=’用户_电子邮件’,’通行证’=’用户_顶部_秘密_通行证’。”;
或每次我插入新的ID如:
INSERT INTO `users` (`id`,`name`,`email`,`pass`,`reg_time`) VALUES
(1,'user','user@server.com','pass','2016-01-31 03:10:13');
名称和电子邮件是唯一的,时间是默认的当前时间戳,我不需要测试它们。这很好,但是我如何插入ID,我需要吗?
在本地phpmyadmin上进行测试不会给我带来任何新的变化。
upd:使用php函数删除了过时的代码,仅删除了sql。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。