首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新时间戳php mysql数据库

更新时间戳php mysql数据库
EN

Stack Overflow用户
提问于 2011-03-29 01:39:12
回答 4查看 1.2K关注 0票数 0

我有一个样本数据库的学生在一个班级中,他们的身份(独特),姓名,性别,出生日期,分数等。

我打算做的是:

  1. 如果学生没有输入他的数据,它应该插入数据。
  2. 如果学生是第二次使用,时间应该更新。我使用了下面的代码,但它不起作用。

谢谢!!

代码语言:javascript
复制
// open connection 
      $con = mysql_connect($host, $user, $pass) or die ("Unable to connect!"); 
      // select database 
      mysql_select_db($db) or die ("Unable to select database!");
      mysql_query("INSERT INTO UserData VALUES ('$id','$name','$gender','$email','$birthday','Marks','NOW()')");
      mysql_close($con);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-29 01:47:35

我建议您使用像推进这样的ORM,它允许您编写如下代码:

代码语言:javascript
复制
$user = UserQuery::create()->findPK($id);
if(!$user) {
  $user = new User();
  $user->setId($id);
}
$user->setName($name);
$user->setGender($gender);
$user->setEmail($email);
$user->save();
票数 0
EN

Stack Overflow用户

发布于 2011-03-29 02:12:36

我强烈建议您在查询中使用字段名:

代码语言:javascript
复制
INSERT INTO UserData (`id`, `name`, `gender`, `email`, `bday`, `marks`, `time`)
VALUES ('$id','$name','$gender','$email','$birthday', $marks, NOW())
ON DUPLICATE KEY UPDATE `time` = NOW()

我假设您在id上有一个唯一的索引(或者它是主键)。此外,请将上述查询中的列名替换为按照架构的实际列名。

有关更多细节,请参见

如果您可以发布您的表模式,那么我可以提供您需要使用的确切查询。

票数 1
EN

Stack Overflow用户

发布于 2011-03-29 01:43:18

INSERT != UPDATE

如果要更新现有记录,则需要编写UPDATE查询。您可以使用一个REPLACE查询,但它将覆盖整个行。

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

https://stackoverflow.com/questions/5466988

复制
相关文章

相似问题

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