Bạn không bao giờ tham khảo timestamp
cột trong truy vấn của bạn. Bạn chỉ có một chuỗi :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
Chỉnh sửa:
Tôi nhận được điều này với mã cập nhật của bạn:
Giả sử nó vẫn không phải là mã thực và sau khi sửa lỗi cú pháp, tôi không thể tạo lại kết quả của bạn. Phỏng đoán của tôi là id
đó là khóa chính số nguyên tự động tăng dần, chế độ SQL hiện tại của bạn đang làm cho MySQL lấy ''
dưới dạng NULL
và chèn một hàng mới ... Nhưng tôi chưa thực sự kiểm tra giả thuyết này.
Mã làm việc của tôi là:
CREATE TABLE `abc` (
`pk` INT(10) NOT NULL AUTO_INCREMENT,
`id` VARCHAR(10) NULL DEFAULT NULL,
`timestamp` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pk`)
)
ENGINE=InnoDB;
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
SELECT timestamp FROM abc WHERE id='';
... và trả về:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)