timestamp
を参照することはありません 列 クエリで。 文字列しかありません :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
編集:
更新されたコードでこれを取得します:
それがまだ実際のコードではないと仮定して、構文エラーを修正した後、私はあなたの結果を再現することができません。私の知識に基づく推測では、id
は自動インクリメントされた整数の主キーです。現在のSQLモードでは、MySQLに''
を使用させています。 NULL
として 新しい行を挿入します...しかし、私はこの仮説を実際にテストしていません。
私の作業コードはこれです:
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='';
...そしてこれを返します:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)