默认在复制行时插入日期列的INTO值,如何?

时间:2011-11-10 02:10:28

标签: mysql sql date insert default

晚上好,

我用php,mysql和ajax做了一个很好的工作函数。链接执行查询以复制条目。此查询目前已成功执行

$sql = "INSERT INTO players(day, name, lastname ) SELECT day, name, lastname FROM players WHERE id=$id"; mysql_query( $sql);

列'day'是日期列。我想插入当前日期($ now),而不是属于该行的日期。排序的默认值,到目前为止找不到这样的东西。可能很简单,任何建议?:)

提前致谢!

3 个答案:

答案 0 :(得分:2)

您可以在SELECT列表中包含非列的内容。当前日期应该以{{1​​}}的形式提供,因此这个SQL应该可以解决问题:

current_date

如果您碰巧在PHP变量insert into players (day, name, lastname) select current_date, name, lastname from players where id = $id 中有您想要的日期并且格式正确,那么您可以使用它:

$this_date

答案 1 :(得分:0)

您可以使用内置的MySQL Date和Now或CURDATE函数。如果列是DateTime,那么只需使用NOW()。 MySQL NOW Documentation

$sql = "INSERT INTO players(day, name, lastname ) SELECT NOW(), name, lastname FROM players WHERE id=$id"; mysql_query( $sql);

如果列是Date,则使用带有NOW()的DATE()函数,或者更容易使用CURDATE()函数。 MySQL CURDate Documentation

    $sql = "INSERT INTO players(day, name, lastname ) SELECT CURDATE(), name, lastname FROM players WHERE id=$id"; mysql_query( $sql);

    $sql = "INSERT INTO players(day, name, lastname ) SELECT DATE(NOW()), name, lastname FROM players WHERE id=$id"; mysql_query( $sql);

MySQL Date Documentation

答案 2 :(得分:0)

MSSQL的getdate()也是如此。