首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MySQL插入的问题

问PHP/MySQL插入的问题
EN

Stack Overflow用户
提问于 2011-09-19 18:44:44
回答 3查看 95关注 0票数 0

如何在两个或多个表中插入数据?

目前我正在使用这个技巧。(假设语法是正确的)

代码语言:javascript
复制
$Sql1 = "insert into user";
$Sql2 = "insert into files";
$Sql3 = "insert into messages";

query $Sql1
query $$ql2
query $Sql3

所以我正在使用这个,我需要进行优化。

另外,我想我需要使用外键?但是我不知道在phpmyadmin上怎么做。

最后:

这就是我想要的。

为了在"user“表上插入数据,然后自动地将表"messages”和"files“也具有与用户相同的ID。这就是我在代码中使用to 3查询的原因。

请帮帮我。

提前感谢!

myb

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-19 18:50:33

使用多个查询是非常好的。

但是,您应该将这3个查询包装到一个中。也就是说,如果一个查询由于某种原因而失败,则可以回滚之前所有查询(如果有)的效果,以便您的数据库保持一致状态。

注意:事务在MySQL的MyISAM表中是不可能的。此外,您必须使用PHP的Mysqli (或PDO)才能使用事务。(我假设您没有使用某个高级数据库抽象层。)

关于您提出的关于外键的问题:据我所知,当您对数据库中的表使用MyISAM引擎时(我认为是这样的),这是没有区别的,因为MyISAM甚至不支持外键的显式建模。然而,像InnoDB这样的其他表引擎可以使用外键来检查某些约束,比如“一条消息必须始终与现有的人相关联”。

这里有一些关于外键的很好的例子:http://www.postgresql.org/files/documentation/books/aw_pgsql/node131.html

票数 3
EN

Stack Overflow用户

发布于 2011-09-19 18:54:01

票数 1
EN

Stack Overflow用户

发布于 2011-09-19 19:00:47

在mysql中,你可以使用LAST_INSERT_ID()或者php中的mysql_insert_id()函数。查看此手册条目:

http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

http://php.net/manual/en/function.mysql-insert-id.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7469694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档