草庐IT

php - mysql_insert_id 使用安全吗?

根据PHP文档,mysql_insert_id从mysql表中获取最后插入的id。我的问题是,如果我有一个每秒向数据库插入超过2行的网站,我可以使用mysql_insert_id并获得我在中引用的正确IDINSERT查询前一行? 最佳答案 来自MySQL手册:TheIDthatwasgeneratedismaintainedintheserveronaper-connectionbasis.ThismeansthatthevaluereturnedbythefunctiontoagivenclientisthefirstAUTO_I

php - MySQL根据SELECT查询结果插入多行

我有一个像这样的MySQL查询:SELECTcp.plan_name,cp.plan_timeFROMcoursescINNERJOINcourse_to_plancplONcpl.course_id=c.course_idINNERJOINcourseplanscpONcp.plan_id=cpl.plan_idWHEREcpl.course_id='$course_id';这将输出数据,例如:+----------------------------+-----------+|plan_name|plan_time|+----------------------------+---

java - 使用java向mySQL表中插入数据

我在mySQL数据库中有一个预定义表:我正在努力将用户输入的数据保存到数据库中,但我似乎无法将任何数据保存到数据库中。使用以下代码,我试图更新数据库的第一行(ID:1到OTHER2:0)。我做错了什么?privatejava.sql.Connectioncon=null;privatePreparedStatementpst=null;privateResultSetrs=null;privateStringurl="jdbc:mysql://localhost:8889/deliveryEarn";privateStringuser="root";privateStringpassw

php - 使用 Symfony 和 Doctrine 在数据库中使用 INSERT 时忽略重复项

我有一张tableCREATETABLE`sob_tags_articles`(`tag_id`int(11)NOTNULL,`article_id`int(11)NOTNULL,`id`int(11)NOTNULLauto_increment,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=112并尝试用Doctrine保存一个对象:$sbTagsArticles=newSobTagsArticles();$sbTagsArticles->article_id=$pubId;$sbTagsArticles->tag_id=$tagId;$sb

MYSQL INSERT 或 UPDATE IF

在网上浏览了一段时间,似乎无法找到与我想要的类似的东西。我知道这与我编写查询的方式有关,但我们将不胜感激。我想做的事情的基础是:如果表不存在则插入一些项目如果项目确实存在则更新它以以下格式存在:名称、条形码、项目、数量、位置、价格和日期name-可以在多行中使用条形码-用于特定项目,但可用作多个位置item-与条形码相同,但包含名称数量-不言自明位置-这可以是不同的位置价格-附加到特定项目日期-上次购买该商品的时间棘手的是,一个“名称”可以在不同位置以不同价格包含多个项目(条形码和项目)。这个想法是,客户可以看到他们在设定的时间购买一件商品的价格,因此他们知道他们需要卖多少钱。但是,他

mysql - 如果sql中不存在则插入记录,重复的列名

我想要一个解决方案来插入一条记录,如果它不存在,所以我在这里搜索并找到了一个解决方案,但我还有另一个问题INSERTINTOclosed_answers(question_id,subject_id)SELECT*FROM(SELECT2,2)AStmpWHERENOTEXISTS(SELECTquestion_idFROMclosed_answersWHEREquestion_id=2ANDsubject_id=2)LIMIT1输出是#1060-Duplicatecolumnname'2'如果我使用任何2个不相同的数字,它会起作用,但当2个数字相同时就会出现问题

mysql - 从 MySQL 中的 TRIGGER 中更改 LAST_INSERT_ID()

我有一个BEFOREINSERTTRIGGER用于计算AUTO_INCREMENT列的值(id_2)。id_1|id_2|data1|1|'a'1|2|'b'1|3|'c'2|1|'a'2|2|'b'2|3|'c'2|4|'a'3|1|'b'3|2|'c'我有PRIMARY(id_1,id_2)并且我正在使用InnoDB。之前,该表使用的是MyISAM,我没有遇到任何问题:id_2被设置为AUTO_INCREMENT,因此id_1的每个新条目会生成新的id_2在其自己的。现在,在切换到InnoDB之后,我有这个触发器来做同样的事情:SET@id=NULL;SELECTCOALESCE(

MySQL 事务 : One Large Transaction against Multiple Small Transactions

大交易的设计..STARTTRANSACTION;/*INERTforlogindetail*//*INSERTforpersonalinformation*//*INSERTforuser'stransactionaccount*/COMMIT;和小交易的设计..STARTTRANSACTION;/*INSERTforlogindetail*/COMMIT;STARTTRANSACTION;/*INSERTforpersonalinformation*/COMMIT;STARTTRANSACTION;/*INSERTforuser'stransactionaccount*/COMMI

php - mysql_insert_id 和 last_insert_id 错误行为

我有这张tableCREATETABLEIFNOTEXISTS`t5`(`id`int(11)NOTNULLauto_increment,`a`int(11)NOTNULL,`b`int(11)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`a`(`a`,`b`))ENGINE=InnoDBDEFAULTCHARSET=latin1;a_b是唯一键。我有这样的php代码$db=DBFactory::getInstance();$db->selectDB('test');$db->query("insertintot5(a,b)values(1,1)onduplic

php - SQL 插入速度的变化

我正在处理的脚本旨在更新一个数据库表,该表记录了使用国家和所有IP地址(或几乎所有IP地址)的状态。目前我保持简单,只从5个RIR(区域互联网注册机构)获取数据并将其保存到我的数据库中。最初速度是不切实际的,但通过减少日志中的信息量并将SQL插入分组为1000组并使用单个查询,速度得到了显着改善。但是,现在运行脚本时,SQL插入的速度变化很大,我想知道是否有人知道为什么。这是我记录的一些速度。在测试中,我将执行PHP脚本迭代所花费的时间和应用sql语句所花费的时间分开,我没有将PHP时间包括在下面的列表中,因为影响可以忽略不计;即使是最大的数据block也不超过1秒。测试速度(插入的数