草庐IT

mysql - 设计一个带有 facebook id 和正常注册的数据库

所以我正在创建一个网站,基本上允许用户使用他们的facebook帐户/facebook连接进行注册,而只是传统的注册(用户名、密码)。现在我的table看起来像这样:uid,username,password,email我在考虑如何更改此表结构以合并facebook帐户连接,因为它没有任何用户名或密码,我是否应该只存储电子邮件并将用户名和密码留空?其他具有这种登录结构的站点如何保存这些信息? 最佳答案 您确实也想存储facebook_id,对此我建议使用bigint。您可能还想添加一个状态列,指示此用户帐户是通过电子邮件地址还是通过

PHP 资源 ID 错误

我想检索或输出数据库中的数据,但我一直收到名为“资源ID”的错误。这是我的代码:'.$name.'Wehopethatyou\'llEnjoyyourstay';$sql="SELECTNameFROM`people`WHEREid=2&&Name='Kyel'";$rs=mysql_query($sql);echo"$rs";?>如果我需要改进我的代码,请告诉我。 最佳答案 mysql_query()返回一个资源。到字符串(通过使用echo输出它隐式触发)是ResourceID#后跟id。PHP中的资源只能与其他PHP函数一起使用

mysql - 找到一行有几个用逗号分隔的ids MYSQL

表的数据结构是这样的IDids-------23432,545,654543654,3333223,543334547432例如,我想查找包含545的行,我应该编写什么样的查询?也许find_in_set可以帮助我? 最佳答案 是的,您可以使用FIND_IN_SET:SELECTID,idsFROMyourtableWHEREFIND_IN_SET('545',ids) 关于mysql-找到一行有几个用逗号分隔的idsMYSQL,我们在StackOverflow上找到一个类似的问题:

php - Codeigniter 事件记录从 mysql 获取记录,其中 ID 等于数组中的记录

我有一个包含以下数据的数组:array(3){[0]=>array(1){["project_id"]=>string(2)"14"}[1]=>array(1){["project_id"]=>string(2)"21"}[2]=>array(1){["project_id"]=>string(2)"13"}}我需要从我的数据库中回显返回项目ID与我的数组中的项目ID相同的所有行。使用下面的代码如何只获取id等于数据库中id的记录???functionget_projects($id){$data='';$this->db->where('id',$id);//HOWTOGETMULT

php - 使用 PDO 插入记录后获取 mysql 最后插入 ID

我使用PDO准备语句来插入记录。并使用lastInsertId获取插入记录的ID。但是这样好吗?因为当多个用户同时插入时会发生什么?那种情况下lastInsertId会冲突?所以我应该使用交易?请帮忙 最佳答案 每个PHP脚本基本上都是独立存在的。当多个用户同时插入时,用户A会得到他最后插入的行idA,用户B会得到她最后插入的行idB。 关于php-使用PDO插入记录后获取mysql最后插入ID,我们在StackOverflow上找到一个类似的问题: http

mysql - 你如何使用 JOIN 而没有 ID 进行删除?

以下查询生成我要删除的记录列表...SELECT*FROM`orderitems`asoiLEFTJOIN`orders`asoON(o.`orderid`=oi.`orderid`)WHEREo.`date`='2012-10-05'ANDo.`status`='init';不幸的是,这些表的设计没有id字段。我看过其他带有连接的删除,但都使用id字段。这不起作用:DELETEFROM`orderitems`asoiLEFTJOIN`orders`asoON(o.`orderid`=oi.`orderid`)WHEREo.`date`='2012-10-05'ANDo.`status

mysql - 跨分片的增量 ID

我正在构建自己的分片解决方案。每个ID的构造如下:分片ID(小整数)表类型id(小整型)增量数(大整数)例如。00001000010000000015我使用虚拟分片,所以我可以将所有分片指向一个服务器,当我需要更多容量时,我只需添加另一台服务器并将一些虚拟分片指向该服务器,这样下次数据将被写入到新服务器而不是第一个服务器上,尽管读取将转到两个服务器,至少在我移动数据并在配置文件中更改它之前是这样。我的问题是递增的数字。我希望它们是独一无二的。在mysql中为特定表使用buildintincrementalid并不好,因为我可能会将数据移动到另一台服务器,并且在那里我可能有另一个数据使用

MySQL:找出丢失的订单 ID

我知道这个问题在StackOverFlow中问了好几次。我试过其中的几个,但我运气不好。我有一个MySQL表,其中有一个字段(orders_id)可能会随机出现在表中(不按顺序),我需要找出表中缺少哪些ID。orders_idproduct_nameqty1007WirelessMouse11000Laptop11004WirelessMouse31020PC31003WirelessMouse41025IPAD41026iphone1ExpectedAnswer:Assumeorders_idstartfrom1000.orders_id10001001100210051006100

mysql - SQL:KEY id_2 有什么作用?

我一直在使用:PRIMARYKEY(id),UNIQUEid(id),KEYid_2(id)每当我创建一个表时,但我不明白KEYid_2(id)的作用以及为什么?我到处搜索,找不到合适的答案。谢谢! 最佳答案 根据您的示例,我相信您在一列上创建了三个不同的索引...这可能不是您打算做的。首先,您要创建一个主键:PRIMARYKEY(id)接下来,您将创建一个唯一索引,这不是必需的,因为您已经有了主键...并将此唯一索引命名为id:UNIQUEid(id)最后,您创建名为id_2的第三个索引:KEYid_2(id)相反,我认为您应该只

mysql - 为什么我应该对关联表使用主 ID

我一直在阅读解释为什么主ID应始终在表中使用的问题,尤其是当一个表中的记录需要与另一个表中的记录相关联时。但是在我的例子中,该表是用户之一,因此有一个名称字段。当然,对于关联,我可以只使用用户的名称进行关联,或者我错过了什么。 最佳答案 您应该拥有主ID的主要原因之一是它应该是永久值,因为它可以用于引用其他表中的外键。您可以使用名称,前提是:上面定义了一个键。(显然是主键或唯一键)不能修改。您已在问题中陈述:“..association我可以只使用用户名来关联..”。如果您想修改名称并且已经有依赖于它的记录怎么办?