Anda tidak pernah merujuk ke timestamp
kolom dalam kueri Anda. Anda hanya memiliki string :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
Sunting:
Saya mendapatkan ini dengan kode Anda yang diperbarui:
Dengan asumsi itu bukan kode yang sebenarnya dan setelah memperbaiki kesalahan sintaks, saya tidak dapat mereproduksi hasil Anda. Dugaan saya yang terpelajar adalah id
adalah kunci utama bilangan bulat yang bertambah secara otomatis, mode SQL Anda saat ini membuat MySQL mengambil ''
sebagai NULL
dan menyisipkan baris baru... Tapi saya belum benar-benar menguji hipotesis ini.
Kode kerja saya adalah ini:
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='';
... dan mengembalikan ini:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)