টাইমস্ট্যাম্প ক্ষেত্রের জন্য অবৈধ ডিফল্ট মান (mysql 5.7)


10

সম্পাদনা: মাইএসকিএল 5.6 থেকে বিদ্যমান ডাটাবেস আপডেট করার সময় এবং সম্পাদন করার সময়:

UPDATE phppos_register_log SET shift_end = '2015-01-01 00:00:00' WHERE shift_end = '0000-00-00 00:00:00';

এটি উত্পাদন করে:

#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'shift_end' at row 1
#1067 - Invalid default value for 'shift_start' 

এটি মাইএসকিএল <= 5.7 এ কাজ করেছে। আমি এই সম্পর্কে কোনও নথিপত্র পাইনি ... এটিতে সমস্যাটি কী?

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
এই সমস্যা হয় নথিভুক্ত ... কিন্তু প্রথম, যা মুক্তি মাইএসকিউএল 5.7 এর আপনি ব্যবহার করছেন (বিশেষ করে প্রাসঙ্গিক, যেহেতু 5.7 এখন হিসাবে এখনো জি হয়)? এবং ৫. ill.৪-এ পরিবর্তিত একটি অভাবিত পরিবর্তন হয়েছিল যা 5..7.৮ এ ফিরে গিয়েছিল, এটি ব্যাখ্যা করবে। দয়া করে আপনার সংস্করণটি নিশ্চিত করুন।
মাইকেল - স্কেলবট

mysql-5.7.8-rc-osx10.9-x86_64.dmg
ক্রিস

আমি অন্য একটি সমস্যা সহ একটি সম্পাদনা পোস্ট করেছি। এটি mysql 5.7.8 এর সাথে বাস্তব সমস্যার মত মনে হচ্ছে
ক্রিস

2
৫.7.৮ রিলিজ নোটগুলির আরও পর্যালোচনা থেকে বোঝা যায় যে একটি পরিবর্তন উল্টানো হয়েছিল, তবে আপনাকে অপসারণ করতে হবে NO_ZERO_DATEযা এখন ডিফল্ট কনফিগারেশনের অংশ part আপনি কি নিশ্চিত? দয়া করে SELECT @@SQL_MODE;
মাইকেল - স্কেলবট

হ্যাঁ আমি মোডটি পরিবর্তন করেছি এবং এটি কাজ করেছে। আমি মাইএসকিএল ৫. added যুক্ত করে অনেকগুলি জিনিস পেয়েছি যার ফলে সমস্যা হয়েছে তাই আমি মোডটিকে "" সেট করেছিলাম; এটি অনেকগুলি পরিবর্তন সহ একটি দুর্দান্ত বড় আপডেটের মতো বলে মনে হচ্ছে।
ক্রিস Muench

উত্তর:


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.