#1366 - 不正确的整数值:MYsql

raj*_*ant 13 mysql sql

嗨,每一个我在mysql中都有问题

我的桌子是

          CREATE TABLE IF NOT EXISTS `contactform` (
                  `contact_id` int(11) NOT NULL AUTO_INCREMENT,
                    `first_name` varchar(50) NOT NULL,
                  `addition` varchar(50) NOT NULL,
                     `surname` varchar(50) NOT NULL,
                  `Address` varchar(200) NOT NULL,
                   `postalcode` varchar(20) NOT NULL,
                        `city` varchar(50) NOT NULL,
                      `phone` varchar(20) NOT NULL,
                      `emailaddress` varchar(30) NOT NULL,
                           `dob` varchar(50) NOT NULL,
                               `howtoknow` varchar(50) NOT NULL,
                          `othersource` varchar(50) NOT NULL,
                             `orientationsession` varchar(20) NOT NULL,
                               `othersession` varchar(20) NOT NULL,
                                  `organisation` int(11) NOT NULL,
                                      `newsletter` int(2) NOT NULL,
                                      `iscomplete` int(11) NOT NULL,
                          `registrationdate` date NOT NULL,
                            PRIMARY KEY (`contact_id`)
                     ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ;



             mysql>insert into contactform values('','abhi','sir','shukla','vbxcvb','342342','asdfasd','234234234','abhi@gmail.com','1999/5/16','via vrienden of familie','','19','20','6','1','1','2010-03-29')
Run Code Online (Sandbox Code Playgroud)

我得到以下错误.#1366 - 不正确的整数值:''对于第1行的列'contact_id'

此查询在我的本地计算机上正常工作但在服务器上出错

cod*_*ict 17

尝试使用NULL,而不是''用于contact_id

insert into contactform values(NULL,......
Run Code Online (Sandbox Code Playgroud)

  • @Rajanikant:不客气:).此外,由于您不熟悉Stack溢出,我想通知您,您可以通过选中答案旁边的刻度标记来接受最能帮助您的答案. (3认同)
  • @codaddict我对MySQL社区服务器5.6.26也有同样的问题,但MySQL抱怨说我不能将`NULL`插入非`NULL`列.除了在`INSERT`之前运行`SET SQL_MODE ='';`之外,还有什么方法吗? (2认同)

sro*_*oes 15

与一些遗留项目有同样的问题.我不想全局关闭严格模式,但也不想通过所有代码来修复它,所以我只在该应用程序中通过在建立与db的连接后执行以下查询来禁用它:

SET sql_mode = ""
Run Code Online (Sandbox Code Playgroud)


小智 10

尝试在my.cnf/my.ini中找到以下行:

sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
Run Code Online (Sandbox Code Playgroud)

现在用#注释掉它并重新启动你的mysql服务器.

  • 修复错误可能更好,而不是通过关闭严格模式将它们转换为警告. (5认同)

Fra*_*ens 5

''是一个空字符串,你想要一个整数,但这个整数是由数据库创建的.删除INSERT中的列名,不要插入任何值.


Amy*_*y B 0

''不是整数,是吗?

另外,这是一些非常奇怪的缩进。