Вставить значение INTO по умолчанию для столбца даты при копировании строки, как? - PullRequest
0 голосов
/ 10 ноября 2011

Добрый вечер,

Я сделал хорошо работающую функцию с php, mysql и ajax.Ссылка выполняет запрос для копирования записи.Этот запрос в настоящее время успешно выполняется

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

столбец «день» является столбцом даты.Вместо даты, которая принадлежит строке, я хочу вставить текущую дату ($ сейчас).Сортировка по умолчанию, не могу найти ничего подобного.Наверное, просто, какой-нибудь совет? :)

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 10 ноября 2011

В список SELECT можно включать вещи, которые не являются столбцами. Текущая дата должна быть доступна как current_date, поэтому этот SQL должен помочь:

insert into players (day, name, lastname)
select current_date, name, lastname
from players
where id = $id

Если у вас есть нужная дата в переменной PHP $this_date и она была в правильном формате, то вы можете использовать это:

insert into players (day, name, lastname)
select '$this_date', name, lastname 
from players
where id = $id
0 голосов
/ 10 ноября 2011

MSSQL имеет getdate () для того же.

0 голосов
/ 10 ноября 2011

Вы можете использовать встроенные функции MySQL Date and Now или CURDATE. Если столбец - DateTime, тогда просто используйте NOW (). Документация MySQL NOW

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

Если столбец является датой, используйте функцию DATE () с NOW () внутри или даже проще с функцией CURDATE (). Документация по MySQL CURDate

    $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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...