Computer >> Máy Tính >  >> Lập trình >> MySQL

Khi chạy UPDATE… datetime =NOW (); tất cả các hàng được cập nhật có cùng ngày / giờ trong mysql không?


Hàm now () trả về thời gian không đổi hiển thị thời gian mà bất kỳ câu lệnh nào bắt đầu thực thi. Hàm sysdate () trả về cùng ngày giờ mà nó thực thi câu lệnh từ MySQL 5.0.13.

Giả sử nếu bạn đang cập nhật datetime với now () trong trình kích hoạt hoặc thủ tục được lưu trữ, phương thức now () trả về thời gian tại đó thủ tục kích hoạt và được lưu trữ bắt đầu thực thi.

Đây là bản demo của bản cập nhật với now (). Đầu tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table NowDemo
-> (
-> DueDateTime datetime
-> );
Query OK, 0 rows affected (0.51 sec)

Chèn bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into NowDemo values('2018-12-19');
Query OK, 1 row affected (0.15 sec)

mysql> insert into NowDemo values('2018-11-10');
Query OK, 1 row affected (0.20 sec)

mysql> insert into NowDemo values('2017-11-21');
Query OK, 1 row affected (0.09 sec)

Kiểm tra tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from NowDemo;

Đầu ra

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-19 00:00:00 |
| 2018-11-10 00:00:00 |
| 2017-11-21 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

Đây là truy vấn để cập nhật cột datetime với now () cập nhật tất cả các giá trị.

Trường hợp 1 - Sử dụng ngay bây giờ ()

Truy vấn như sau -

mysql> update NowDemo set DueDateTime = now();
Query OK, 3 rows affected (0.12 sec)
Rows matched: 3 Changed: 3 Warnings: 0

Kiểm tra giá trị đã cập nhật bằng lệnh select. Truy vấn như sau -

mysql> select *from NowDemo;

Sau đây là kết quả hiển thị tất cả các hàng hiện có cùng ngày giờ -

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-20 16:10:00 |
| 2018-12-20 16:10:00 |
| 2018-12-20 16:10:00 |
+---------------------+
3 rows in set (0.00 sec)

Trường hợp 2 - Sử dụng sysdate ()

Truy vấn như sau -

mysql> update NowDemo set DueDateTime = sysdate();
Query OK, 3 rows affected (0.43 sec)
Rows matched: 3 Changed: 3 Warnings: 0

Kiểm tra giá trị cập nhật từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from NowDemo;

Sau đây là kết quả hiển thị tất cả các hàng hiện có cùng ngày giờ -

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-20 16:10:35 |
| 2018-12-20 16:10:35 |
| 2018-12-20 16:10:35 |
+---------------------+
3 rows in set (0.00 sec)