【问题标题】:phpmyadmin, when inserting a record using the form tools provided it comes up with an errorphpmyadmin,使用表单工具插入记录时出现错误
【发布时间】:2012-12-20 00:33:18
【问题描述】:

当使用 phpmyadmin 中的工具插入记录时,它会在不应该放置任何内容或 null0 时放置 ''。生成sql代码的phpmyadmin有错误。

错误(更合适的是警告)是:

已插入 1 行。 插入的行 ID:17 警告:#1366 不正确的整数值:第 1 行的列 'userNo' 的 ''

phpmyadmin生成的sql是:

INSERT INTO plenty_of_singles.user (
    userNo ,
    username ,
    password ,
    email ,
    gender ,
    age ,
    country ,
    area ,
    city ,
    relocate ,
    height ,
    weight ,
    overview
)
VALUES (
'', 'girl101', MD5( 'weebling' ) , 'girl101@hotmail.com', 'female', '18', 'UK', 'England', 'Manchester', 'yes', '5''8"', '50 kg', 'Genuine girl who would like to find the right person.'
);

很高兴知道解决方案以及是否有其他人遇到过或遇到过此问题。

mysql 版本 5.0.10 .

表的sql代码:

CREATE TABLE `user` (  
`userNo` int(11) unsigned NOT NULL AUTO_INCREMENT,  
`username` varchar(16) NOT NULL COMMENT 'username, alphanumeric 16 characters long.',  `password` varchar(32) NOT NULL COMMENT 'password alphanumeric 16 characters long , but when encrypted using MD5 it becomes a hexidecimal number 32 digits long',  
`email` varchar(40) NOT NULL COMMENT 'email is an alphanumeric 40 characters long',  `gender` varchar(6) NOT NULL COMMENT 'gender is alphanumeric and will always be male or female',  
`age` int(3) NOT NULL COMMENT 'age will be an integer 3 digits long',  
`country` varchar(35) NOT NULL COMMENT 'country is alphabetic 35 characters long',  
`area` varchar(35) NOT NULL COMMENT 'area is alphabetic 35 characters long',  
`city` varchar(35) NOT NULL COMMENT 'city is alphabetic 35 characters long',  
`relocate` varchar(3) NOT NULL COMMENT 'relocate is a alphabetic 3 characters long. possible values are yes or no',  
`height` varchar(15) NOT NULL COMMENT 'height is alphanumeric and 15 chracters long.',  `weight` varchar(15) NOT NULL COMMENT 'wieight is alphanumeric and 15 chracters long.',  `overview` varchar(255) NOT NULL,  
PRIMARY KEY (`userNo`),  
UNIQUE KEY `username` (`username`)) 
ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1

【问题讨论】:

  • 服务器上运行的是什么 MySQL 版本?对于 auto_increment 列,将采用与 NULL 相同的方式获取空字符串。等等,这是一个 auto_increment 列吗?如果不是,则空字符串 '' 应转换为整数 0。
  • 你最好把表结构贴出来。 SHOW CREATE TABLE plenty_of_singles
  • 似乎 5.0.10 不接受 '' 用于自动增量字段。由于我对 phpmyadmin 不太熟悉,所以我不知道解决方法是什么(除了手动输入 SQL,我总是这样做)

标签: sql phpmyadmin


【解决方案1】:

不要给 userNo 字段赋值,因为它的自动增量字段使用这个查询

          INSERT INTO plenty_of_singles.user (

username ,
password ,
email ,
gender ,
age ,
country ,
area ,
city ,
relocate ,
height ,
weight ,
overview
)
VALUES (
  'girl101', MD5( 'weebling' ) , 'girl101@hotmail.com', 'female', '18', 'UK','England', 'Manchester', 'yes', '5''8"', '50 kg', 'Genuine girl who would like to find the right person.'
  );

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2016-11-15
    • 2022-07-29
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多