Server SQL Modes trong MySQL
TIL
608
Mysql
44
White

Triet Pham viết ngày 11/06/2017

Server SQL Modes

Lúc insert column vào nhưng bỏ trống field created - kiểu datetime thì MySQL báo lỗi

 ERROR 1292 (22007): Incorrect datetime value: '0000-00-00 00:00:00' for column 'created' at row 1

Search vòng vòng thì ra là do Server SQL Modes, cụ thể là NO_ZERO_DATE

The NO_ZERO_DATE mode affects whether the server permits '0000-00-00' as a valid date. Its effect also depends on whether strict SQL mode is enabled.

  • If this mode is not enabled, '0000-00-00' is permitted and inserts produce no warning.

  • If this mode is enabled, '0000-00-00' is permitted and inserts produce a warning.

  • If this mode and strict mode are enabled,'0000-00-00' is not permitted and inserts produce an error, unless IGNORE is given as well. For INSERT IGNORE and UPDATE IGNORE, '0000-00-00' is permitted and inserts produce a warning.

Because NO_ZERO_IN_DATE is deprecated, it will be removed in a future MySQL release as a separate mode name and its effect included in the effects of strict SQL mode.

https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date

MySQL này được mình cài từ homebrew về nên có vẻ version này nó vẫn chạy trong mặc định.

Server version: 5.7.18 Homebrew

Giải pháp

Update lại config để set lại sql_mode thôi.

Tìm được file config cũng vất vả, search mỗi người mỗi chổ

Dùng command bên dưới để search cho khỏe

$ sudo /usr/libexec/locate.updatedb # wait a few minutes for it to finish
$ locate my.cnf

và đã tìm thấy

/usr/local/Cellar/mysql/5.7.18_1/.bottle/etc/my.cnf
/usr/local/etc/my.cnf

Thêm config vào /usr/local/etc/my.cnf

sql_mode = ""

Restart lại MySQL server

triet 20-05-2017

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Triet Pham

7 bài viết.
91 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
113 46
Bắt đầu chuyển sang dùng Vim làm editor chính một cách nghiêm túc sau nhiều lần thử, bỏ cuộc và quay trở về Sublime Text. Còn về nguyên nhân bỏ cuộ...
Triet Pham viết hơn 1 năm trước
113 46
White
32 7
(Ảnh) Data system Ngày nay do sự phát triển rất nhanh về phần cứng nên hầu hết các ứng dụng không còn phát triển theo hướng tối ưu hóa về tốc đ...
Triet Pham viết 11 tháng trước
32 7
White
23 0
(Ảnh) Slow query là gì? Khi các câu query chậm hơn một thời gian nhất định tùy theo bạn định nghĩa, ví dụ chậm hơn 50ms, thì các câu query đó đư...
Triet Pham viết 1 năm trước
23 0
Bài viết liên quan
White
20 0
Mysql innodb internal là một chủ đề khá sâu. Bản thân tôi cũng chưa bao quát hết. Bài viết này chỉ cung cấp một cái nhìn sơ lược. Để các bạn khôn...
manhdung viết 3 năm trước
20 0
White
25 2
(Ảnh) Tiêu đề chỉ là câu khách :v, thực ra là có một vài điểm về mysql explain mà chắc chưa nhiều bạn biết, tớ cũng hay quên nên note lại cho nhớ ...
LinhPT viết gần 3 năm trước
25 2
White
2 2
Đôi khi cài đặt MySQL trên Ubuntu hoặc trên các HĐH khác, trình cài đặt sẽ tự động set một mật khẩu ngẫu nhiên cho tài khoản root, nếu không để ý t...
Dang Viet Ha viết hơn 2 năm trước
2 2
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
7 bài viết.
91 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!