MySQL MySQL Updat - updatet falschen wert

  • Themenstarter Themenstarter Musiumincapitis
  • Beginndatum Beginndatum
M

Musiumincapitis

Gast
Hall Zusammen

Wie der Titel schon sagt hab ich ein Problem mit dem updaten meiner Daten..
//SQL-Table
create table time_stamp
(
PK serial,
start_stamp TIMESTAMP,
end_stamp TIMESTAMP,
project varchar(255) not null,
username varchar(255) not null,

primary key(PK)
);
Ich führe einen Update auf den Wert “end_stamp” aus, dieses Update überschreibt aber nicht nur den „end_stamp“ sondern auch den „start_stamp“ Wert.

Java:
//Stamp ist ein sql.Timestamp und pk ist der Primary Key des Records
IndividualUpdate("update time_stamp set end_stamp=\""+ stamp + "\" where pk=" + pk + ";");
	public void IndividualUpdate(String SQLStatement)
	{
		try
		{
			try
			{
				Statement statement = conn.createStatement();
			    statement.executeUpdate(SQLStatement);
			    _statementResult = StatementResult.StatementOk;
				
			}
			catch(SQLException ex){ _statementResult = StatementResult.StatementFailed; }
		}
		catch(Exception ex)
		{
			_statementResult = StatementResult.StatementFailed;
		}
	}

Mfg.

PS. Wenn ich den Wert übers CMD eingebe, wird nur der end_stamp upgedated
//update time_stamp set end_stamp="2010-11-29 18:50:50" where pk = 11;
 
Das hat vermutlich mit der Tabellenstruktur zu tun:
http://dev.mysql.com/doc/refman/5.1/de/timestamp-4-1.html hat gesagt.:
Fehlen sowohl DEFAULT- als auch ON UPDATE-Klausel, dann ist dies das Gleiche wie DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP.
Also könnte es helfen die Tabelle wie folgt zu erstellen:
Code:
...
`start_stamp` timestamp NOT NULL DEFAULT 0,
`end_stamp` timestamp NOT NULL DEFAULT 0,
 
Würde mich jetzt sehr wundern, wenn Dein Statement im Code den anderen Wert ebenfalls ändern würde. Sicher, dass da nicht noch was anderes läuft?
 
Danke für eure Antworten..
.. Würde mich jetzt sehr wundern, wenn Dein Statement im Code den anderen Wert ebenfalls ändern würde. Sicher, dass da nicht noch was anderes läuft?
Ich glaube es selber nicht, aber es liegt am Code^^… via Konsole geht es wunderbar…
..
ABER..
Mit dem Not Null geht es..vielen danke 😉
 

Zurück
Oben