Schrift
[thread]10847[/thread]

aktuelles Datum für Feld bei insert

Leser: 1


<< >> 6 Einträge, 1 Seite
Superfrank
 2007-11-21 14:49
#102723 #102723
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich verwende mysql5.0.45 und möchte bei einem insert in einem Feld das aktuelle Datum mit der mysql-Funktion now() und in ein anderes Feld das aktuelle Datum + 1 Jahr eintragen was mit

Code (perl): (dl )
adddate(now(), interval 1 year)


funktionieren würde. Nun benutzte ich CPAN:DBD::mysql und prepared Statements und frage mich wie das funktioniert. Mit

Code (perl): (dl )
1
2
3
my $query = 'INSERT INTO datum (bestelldatum, expire) VALUES( ?, ?)';
my @query_data = ('now()', 'adddate(now(), interval 1 year)');
$dbh->do($query, \%attr, @query_data);


funktioniert es nicht, manuell mit

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
mysql> insert into datum (bestelldatum, expire) values (now(), adddate(now(), interval 1 year));
Query OK, 1 row affected (0.00 sec)

mysql> select * from datum;
+---------------------+---------------------+
| bestelldatum        | expire              |
+---------------------+---------------------+
| 2007-11-21 12:39:48 | 2008-11-21 12:39:48 |
+---------------------+---------------------+
1 row in set (0.00 sec) 


geht es. Hat da wer einen Tip für mich?

Grüsse

Frank


Edit: "funktioniert nicht" = es wird "0000-00-00 00:00:00" eingetragen
renee
 2007-11-21 15:11
#102726 #102726
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
my $query = 'INSERT INTO datum (bestelldatum, expire) VALUES( NOW(), ADDDATE(NOW(), INTERVAL 1 YEAR))';
$dbh->do($query);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Superfrank
 2007-11-21 15:19
#102731 #102731
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo Rene,
das ist klar ;-)

Es geht mir eher darum wie man es mit Platzhaltern hinkriegt. Das ist nur ein Testding und später werden in dem Insert auch Variablen von extern aus einem Formular eingefügt.

Grüsse

Frank
renee
 2007-11-21 15:20
#102732 #102732
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das ist - glaube ich - nicht möglich, da das 'now()' durch die Platzhalter als String interpretiert wird...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-11-21 15:26
#102734 #102734
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn die Spalten, deren Werte der User beeinflussen kann, ungleich den Spalten sind, die Du hier genannt hast, kannst Du das ja auch mischen:

Code (perl): (dl )
1
2
3
my $query = 'INSERT INTO datum (bestelldatum, expire, any_column) VALUES( now(), adddate(now(), interval 1 year), ?)';
my @query_data = ( $userinput );
$dbh->do($query, undef, @query_data);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Superfrank
 2007-11-21 15:36
#102736 #102736
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo Rene,
genau so funktioniert es! Da bin ich nicht drauf gekommen daß man das mischen kann.
Vielen Dank für Deine Hilfe!

Grüsse

Frank
<< >> 6 Einträge, 1 Seite



View all threads created 2007-11-21 14:49.