# 1366 - Неверное целочисленное значение: MYsql - PullRequest
13 голосов
/ 29 марта 2010

Привет всем, у меня есть проблемы в 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')

я получаю следующую ошибку. # 1366 - Неверное целочисленное значение: '' для столбца 'contact_id' в строке 1

этот запрос отлично работает на моей локальной машине, но выдает ошибку на сервере

Ответы [ 7 ]

17 голосов
/ 29 марта 2010

Попробуйте использовать NULL вместо '' для contact_id в

insert into contactform values(NULL,......
14 голосов
/ 25 июня 2015

У той же проблемы был какой-то устаревший проект. Я не хотел отключать строгий режим в глобальном масштабе, но также не хотел проходить весь код, чтобы исправить это, поэтому я отключил его только в этом приложении, выполнив следующий запрос один раз после установления соединения с БД :

SET sql_mode = ""
10 голосов
/ 07 ноября 2011

Попробуйте найти следующую строку в my.cnf / my.ini:

sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

Теперь закомментируйте это с помощью # и перезапустите сервер MySQL.

5 голосов
/ 29 марта 2010

'' - пустая строка, вам нужно целое число, но это целое число создается базой данных. Удалите имя столбца в INSERT и не вставляйте никакое значение.

2 голосов
/ 29 марта 2010

'' не является целым числом, не так ли?

Кроме того, это очень странный отступ.

0 голосов
/ 20 декабря 2018

У меня была такая же проблема, но в моем случае мне нужно было только выбрать А.И. Кнопка (автоинкремент) в моем разделе идентификатора в моей базе данных.

0 голосов
/ 29 августа 2017

В консоли mysql попробуйте следующее:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...