Mysql Result包含多行SQL = INSERT INTO

时间:2014-11-21 06:22:09

标签: mysql mysqli

第一次插入时出现以下错误:

  

结果包含多行。

当我第二次尝试插入记录时,它给出了错误消息:duplicate entry

SQL:

INSERT INTO `master_user` (`name`,`user_name`,`email`,`password`,`system_name_of_friend`,`system_no_of_friend`,`registered_from_site`,`registered_on`,`is_existing_user`)
VALUES ('FirstName LastName','username','demo@mail.com','8c71eede42e38709e9e836021b0b9b9b','','','site','','1')

任何帮助将不胜感激,以下是表格结构,将有助于跟踪此问题。

CREATE TABLE IF NOT EXISTS `master_user` (
  `master_user_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `user_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `system_name_of_friend` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `system_no_of_friend` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `registered_from_ip` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
  `registered_from_site` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
  `registered_on` datetime DEFAULT NULL,
  `is_existing_user` bit(1) NOT NULL DEFAULT b'0',
  PRIMARY KEY (`master_user_id`),
  UNIQUE KEY `ukMasterUser_email` (`email`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1293 ;

1 个答案:

答案 0 :(得分:0)

你应该删除包含该位值的',它将被解释为一个超过1位的字符。并创建日期null,而不是插入''

INSERT INTO `master_user` (`name`,`user_name`,`email`,`password`,`system_name_of_friend`,`system_no_of_friend`,`registered_from_site`,`registered_on`,`is_existing_user`)
VALUES ('FirstName LastName','username','demo@mail.com','8c71eede42e38709e9e836021b0b9b9b','','','site',null,1);

SQLFiddle:http://sqlfiddle.com/#!2/eda2ff

相关问题