簡體   English   中英

如何使用PDO在MySQL中存儲BIGINT?

[英]How do I store a BIGINT in MySQL using PDO?

我知道這個問題不止一次在這里被問過,但我找不到解決辦法。

我們正在使用一個數據庫,我們將facebook id存儲為BIGINT(20)。

create table users(
     fb_id bigint(20) NOT NULL,
     user_name varchar(30) NOT NULL,
     CONSTRAINT uk_name unique (user_name), 
     CONSTRAINT pk_fb_id primary key (fb_id)
)ENGINE=INNODB;

但是PHP的PDO引擎只能插入PHP的最大整數值,即2147483647。

$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_INT);

據我所知,這是非常明顯的,因為我們受到PHP中整數的最大值的限制。 我試着用字符串 -

$stmt->bindParam(':fb_id', $this->fb_id, PDO::PARAM_STR);

但它仍然不起作用。

我想知道是否可以有一個解決方法將其存儲為bigint。

我們正在使用一個數據庫,我們將facebook id存儲為BIGINT(20)。

為什么哦你為什么這樣做?

我認為普遍的共識是Facebook ID不應該保存為數字類型,而應該保存為字符串。 將它們保存為數字並不會產生任何優勢 - 但有幾個缺點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM