EDIT: mysql 5.6 varolan bir veritabanını güncelleştirirken ve yürütürken:
UPDATE phppos_register_log SET shift_end = '2015-01-01 00:00:00' WHERE shift_end = '0000-00-00 00:00:00';
Bu şunu üretir:
#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'shift_end' at row 1
#1067 - Invalid default value for 'shift_start'
Bu mysql <= 5,7'de çalıştı. Bununla ilgili herhangi bir belge bulamadım ... Sorun nedir?
CREATE TABLE `phppos_register_log` (
`register_log_id` int(10) NOT NULL AUTO_INCREMENT,
`employee_id_open` int(10) NOT NULL,
`employee_id_close` int(11) DEFAULT NULL,
`register_id` int(11) DEFAULT NULL,
`shift_start` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`shift_end` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`open_amount` decimal(23,10) NOT NULL,
`close_amount` decimal(23,10) NOT NULL,
`cash_sales_amount` decimal(23,10) NOT NULL,
`total_cash_additions` decimal(23,10) NOT NULL DEFAULT '0.0000000000',
`total_cash_subtractions` decimal(23,10) NOT NULL DEFAULT '0.0000000000',
`notes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`deleted` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`register_log_id`),
KEY `phppos_register_log_ibfk_1` (`employee_id_open`),
KEY `phppos_register_log_ibfk_2` (`register_id`),
KEY `phppos_register_log_ibfk_3` (`employee_id_close`),
CONSTRAINT `phppos_register_log_ibfk_1` FOREIGN KEY (`employee_id_open`) REFERENCES `phppos_employees` (`person_id`),
CONSTRAINT `phppos_register_log_ibfk_2` FOREIGN KEY (`register_id`) REFERENCES `phppos_registers` (`register_id`),
CONSTRAINT `phppos_register_log_ibfk_3` FOREIGN KEY (`employee_id_close`) REFERENCES `phppos_employees` (`person_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
1
Bu sorun olup , ilk belgelenmiş ... ama hangi sürüm (5.7 bugün itibariyle henüz GA olduğundan, özellikle ilgili) Kullandığınız MySQL 5.7? ve 5.7.4'te getirilen ve 5.7.8'de geri döndürülen, bunu açıklayacak kötü tasarlanmış bir değişiklik vardı. Lütfen sürümünüzü onaylayın.
—
Michael - sqlbot
mysql-5.7.8-rc-osx10.9-x86_64.dmg
—
Chris Muench
Başka bir sorunla düzenleme yayınladım. Bu mysql 5.7.8 ile gerçek bir sorun gibi görünüyor
—
Chris Muench
5.7.8 sürüm notlarının daha ayrıntılı incelemesi, bir değişikliğin geri alındığını, ancak
—
Michael - sqlbot
NO_ZERO_DATE
artık varsayılan yapılandırmanın bir parçası olan kaldırmanız gerekebileceğini göstermektedir . Onaylayabilir misin? Lütfen SELECT @@SQL_MODE;
.
Evet modu değiştirdim ve bu işe yaradı. Ben mysql 5.7 ekledi bir şey buldum hangi sorun neden bu yüzden modu ayarlamak ""; Bu, birçok değişiklik içeren oldukça büyük bir güncelleme gibi görünüyor.
—
Chris Muench