在数据库方面需要一些帮助,并且有以下代码:
$result = mysql_query("select * from mydatabase");
if ( ! mysql_num_rows($result)) {
mysql_query("INSERT INTO `mydatabase
"somedata"等,。。。
如果加载的时间与插入的上一个结果相同,如何设置停止?
约束这一点的最简单方法是在用于此目的的列上创建UNIQUE
索引。通常,将UNIX时间值除以60将得到合适的分钟索引。
这可以安全地存储在INT
类型的列中。然后你可以执行常规的INSERT
,如果由于该列上的键冲突而失败,你可以忽略它。甚至还有INSERT IGNORE
选项可以自动执行。
例如:
CREATE TABLE by_minute (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
minute INT,
UNIQUE KEY `index_by_minute_minute` (`minute`)
);
INSERT IGNORE INTO by_minute (name, minute) VALUES ('test1', 23730990);
INSERT IGNORE INTO by_minute (name, minute) VALUES ('test2', 23730990);
INSERT IGNORE INTO by_minute (name, minute) VALUES ('test3', 23730991);
这应该只允许插入test1
和test2
行。
也可以使用FLOOR(UNIX_TIMESTAMP(NOW()) / 60)
来代替计算的minute
值。