ハッシュタグ検索の結果を保存するphpスクリプトを作成しましたが、ツイートIDを保存すると、重複を保存しようとします。テーブルにUNIQUE制約を設定しましたが、明らかに最初のツイート以外は何も保存されず、以下のエラーがスローされます。これは驚くべきことではありません
ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 2
制約を削除すると、すべてのツイートが正しく保存されますが、ツイートIDが重複します
テーブルに配置するために使用しているのと同じ変数からの出力にツイートを表示しようとしましたが、すべて一意で正しいため、変数は正しいです。だから私はいくつかの奇妙なことがそれ自体で起こっていると推測することができるだけです
foreach($results as $result) {
$tweet_ID = $result->id_str;
$userID = $result->from_user_id_str;
$tweetText = $result->text;
$tweet_time = strtotime($result->created_at);
$createdAt = date('Y-m-d H:i:s ',$tweet_time);
echo '<div>'. $tweet_ID .
'<div class="tweet" >' . displayTweet($result->text),"\r\n" .
'<div class="user">'. '<strong>Posted </strong>' . date('j/n/y H:i:s ',$tweet_time). '<strong> By </strong>' .
'<a rel="nofollow" href="http://twitter.com/' . $result->from_user. '">' . $result->from_user .
'</div>' .
'</div>';
// Execute query
$stmt = $conn->prepare("INSERT INTO ".$hashtag."(tweetID, userID, tweetText, createdAt) VALUES(:tweetID, :userID, :tweetText, :createdAt)");
$stmt->execute(array(':tweetID' => $tweet_ID, ':userID' => $userID, ':tweetText' => $tweetText, ':createdAt' => $createdAt));
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
なぜ乱数を節約しているのか、一生理解できません
追加する番号は2147483647です。私には何の意味もありません。何が起こっているかについての助けをいただければ幸いです