草庐IT

table_id

全部标签

php - MySQL模式,哪种方式性能更高? M-N 关系还是将所有相关 ID 保存为字符串?

我正在为词汇考试设计MySQL数据库。表:users,words,results参与者选择他/她知道其含义的所有单词。所有考试彼此不同,即考试是从数据库中随机生成的。每次考试大约350单词。现在我想存储每次考试的结果以及参与者选择的所有单词。如您所见,每次考试都会保存很多ids(单词)!我的想法有两种:result_word表中的1-多对多关系(每次考试最多350行):result_id|word_id--------------------1|331|12.|..|.2-作为results表中answered_ids列中的字符串:id|answered_ids------------

MySQL CREATE TABLE FROM UNION 给出 "invalid default value"

我在InnoDBMySQL数据库中有一个简单的表:CREATETABLE`test`(`id`int(11)NOTNULLAUTO_INCREMENT,`date`dateNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDB;我想使用联合进行查询并将结果存储在临时表中。我将其简化为以下内容:CREATETEMPORARYTABLEIFNOTEXISTSresultASSELECT*FROMtestUNIONSELECT*FROMtest我这样添加数据:INSERTINTOtest(`date`)VALUES('2017-09-01');MySQL的响应是Erro

php - 如果id在序列中,MySql获取行

如果product_id在序列中,我们需要获取行。表格(产品)product_idname1Parle2Coconut3Pizza4Colgate5IceCream6Nuts8Britania9Pepsi需要输出product_idname1Parle2Coconut3Pizza4Colgate5IceCream6Nutsproduct_id-8and9notgettingbecauseitisnotinsequence.我的尝试selectdistinctt1.*,t1.product_id,(selectGROUP_CONCAT(t2.product_id)fromproducta

mysql - 在 belongsToMany 关系中使用 name 列而不是 id

我有两个模型,一个是报价(用于报价表),另一个是品牌(用于品牌表)。这些模型之间存在“多对多”关系。我有一个表offer_brands,它映射了这两个表之间的关系。在此表中,我有将此表链接到优惠表的offer_id列和将此表链接到品牌表的品牌列使用品牌表中的品牌名称列。在品牌模型中,我想要一个返回所有报价的关系。我知道我可以做到这一点publicfunctionoffers(){return$this->belongsToMany(Offer::class,'offer_brands','offer_id','brand_id');//Butdon'thavebrand_idcolum

MySQL - INNER JOIN 12 Tables with LIMIT 30 or Create View or Denormalization?

我正在使用MySQL,所有事务的规范化表。现在,我需要获取数据作为日志,但它需要加入超过12个表来记录我们需要查看的所有数据,只有最后30个提交的数据(完成/拒绝)将显示在分页中(日志页面1)但仍然有下一个最后30个分页。9INNERJOIN3LEFTJOIN(It'sAdminOrderFormwhencustomerOrderingviaOffline(friend))WHEREorder_status=1ORorder_status=2(done&reject)ORDERBYorder_dateDESCLIMIT30(limiting30perpagewithpagination

MYSQL - 获取具有相同 ID 的超过 1 条记录的所有记录

如果我没有正确解释这一点,我深表歉意。我几乎无法用英语解释它,更不用说在mysql查询中了。我正在尝试获取response_set_ids的列表,其中有超过1个question_id的记录。这是我的数据示例:+----+-----------------+-------------+-----------+|id|response_set_id|question_id|answer_id|+----+-----------------+-------------+-----------+|1|10|1|4||2|10|2|5||3|10|3|6||4|10|3|7||5|11|1|8|

mysql - 需要 MySQL 4 忽略 ALTER TABLE 错误

我有一个在特定条件下自动执行的MySQL脚本。该脚本执行ALTERTABLE命令,因为数据库中需要该列,但它可能有也可能没有...是否可以让MySQL4在列不存在的情况下执行ALTERTABLE语句,或者忽略此单个命令的duplicatecolumn错误并允许脚本继续执行? 最佳答案 ALTER[IGNORE]TABLE只会忽略某些错误,例如添加新UNIQUE索引时的重复键错误或SQL模式错误。http://dev.mysql.com/doc/refman/4.1/en/alter-table.html有关您正在使用的“脚本”的更多

php - 如何进行多插入和获取ID

我想往表中插入一些数据(idPKautoincrement,val)使用多插入INSERTINTOtab(val)VALUES(1),(2),(3)是否可以获取最后插入的id表?我问是因为我不确定是否所有的形式都是这样:(n,n+1,n+2)。我用的是mysqlinodb。 最佳答案 来自mysqldocs:IfyouinsertmultiplerowsusingasingleINSERTstatement,LAST_INSERT_ID()returnsthevaluegeneratedforthefirstinsertedrowo

php - 有没有更好的方法来为多插入返回最后插入的 ID?

我正在使用PHP向我的MySQL数据库添加95个新行并返回新行ID。执行时间大约需要24秒。如果超过30秒,PHP将停止执行(默认时间限制为30秒)。我需要为插入的每一行返回行ID,以便我可以使用它来安装关联数据。我目前的解决方案是这样的:/*snippetsfrommyclassobjectstoillustratemycode*///Thisforeachtakes24secondsonjust95rowsforeach($listas$row){$id=$this->importRows($sid,$table)array_push($id_list,$id);}/*PDOins

带有日期范围的 mySQL 查询,并且只为每个 ID 选择最近的记录

我有下表:RecordIDStatusDateTimestamp----------------------------------------------------------11waiting2010-02-022010-02-0212:00:0021finished2010-02-022010-02-0212:30:0032waiting2009-02-022009-02-0212:00:00我想获取日期介于2010-01-01和2010-03-03之间的记录。(这应该给我记录1和2)此外,我只想获取每个ID的最新(具有最新时间戳)。(这应该只给我记录2)。我不确定我需要如何构