So lernte ich, wie eine Masseneinfügung mit Daten aus einer Tabelle als userId aus einer anderen Tabelle. Jetzt habe ich versucht, das gleiche zu tun, aber ich habe einen SQL (ite) -Fehler. Ich habe die Syntax geschätzt und es falsch verstanden. Nachdem ich in die Subskription in Masse eingefügt habe, möchte ich 1 zu jeder Benutzermedienzählung addieren. Ich habe einen Linksbindungsfehler. Wie korrigiere ich es?SQL Bulk-Update, ein Feld Inkrement
-edit- Ich habe das noch nicht lösen. Bitte helfen Sie.
HINWEIS: Ich verwende SQLite ATM, aber ich bin der Umstellung auf MySQL oder MS SQL
void updateMediaForSubscribers(long userId, long mediaId, Media_Base.Catagory cat, DateTime currentDate)
{
command.CommandText =
"INSERT INTO user_media_subscription (recipientId, mediaId, catagory) " +
"SELECT watcher, @mediaId, @category " +
"FROM user_watch WHERE [email protected];";
command.Parameters.Add("@mediaId", DbType.Int64).Value = mediaId;
command.Parameters.Add("@category", DbType.Int64).Value = cat;
command.Parameters.Add("@watched", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
//near "LEFT": syntax error
command.CommandText =
"UPDATE user_data SET mediaMsgCount=mediaMsgCount+1 " +
"LEFT JOIN user_watch AS w ON w.watcher=user_data.userId " +
"WHERE [email protected];";
command.Parameters.Add("@watched", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
}
Outer-Joins!?! linker Join ist ein äußerer Join? Ich kopierte Ihren Code eingefügt und ich bekomme einen Fehler in der Nähe von (Syntax). ich habe user_data u zu user_data AS u geändert und immer noch kein Glück. Es sieht so aus, als könnte ich FROM nach SET nicht benutzen. Ich benutze derzeit SQLite, die ziemlich die gleiche Syntax verwendet. Ich frage mich, was ist daran falsch? Ich habe eine komplette Schätzung gemacht, als ich das Original schrieb. –