Vì MySQL rõ ràng không thể tự động chèn hàm now() trong trường datetime trong việc thêm bản ghi mới như một số cơ sở dữ liệu khác, dựa trên nhận xét, tôi cố gắng chèn nó một cách rõ ràng bằng cách sử dụng câu lệnh SQL. (Mọi người dường như nghĩ rằng dấu thời gian với curdate() không phải là câu trả lời do những hạn chế khác nhau của dấu thời gian.) Có rất nhiều bài viết trên web cho thấy chèn bây giờ() bằng cách sử dụng SQL nên làm việc.Chèn ngày/giờ hiện tại bằng cách sử dụng now() trong một trường bằng cách sử dụng MySQL/PHP
Khi tôi cố gắng chèn thời gian ngày bằng câu lệnh SQL, trường không điền thời gian/ngày hiện tại, nhưng nó chỉ cho tôi mặc định 0000-00-, v.v. Đây có thể là cú pháp lỗi, nhưng nó làm tôi phát điên, vì vậy tôi đăng nó lên.
mysql_query("INSERT INTO users (first, last, whenadded) VALUES ('$first', '$last', now())";
Nó chèn đầu tiên và cuối cùng, nhưng không có gì khi được thêm, để lại 0000-00-00, v.v. trong trường được thêm vào.
Loại trường là datetime, không có collation, thuộc tính, null mặc định hoặc bổ sung. BTW, tôi đã thử đặt ngay bây giờ() trong dấu nháy đơn ... Nó đã ném một lỗi.
Lạ, những gì bạn hiển thị sẽ hoạt động. Bạn có chắc đó là trường DATETIME thích hợp không? Dù sao, các bình luận là không chính xác, bạn có thể tự động hóa điều này bằng cách sử dụng 'DEFAULT CURRENT_TIMESTAMP' và' ON UPDATE CURRENT_TIMESTAMP' http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html –
. TIMESTAMP (CURRENT_TIMESTAMP) cũng hoạt động cho Ngày giờ? http://bugs.mysql.com/bug.php?id=27645 Am shying xa Timestamp do những gì mọi người mô tả như là giới hạn ngày của nó. sẽ thử đặt lại kiểu trường – user1260310
Ugh, sai lầm của tôi. Lấy làm tiếc. Điều này thực sự dường như chỉ hoạt động cho các trường TIMESTAMP, điều này thật đáng tiếc. Nhưng truy vấn bạn hiển thị ở trên * nên * hoạt động –