Erreur : MySQL - l'opérande doit contenir 1 colonne.
P粉529245050
P粉529245050 2023-07-24 18:17:13
0
1
434
<p>Cette requête fonctionne lorsque je la tape directement dans MySQL, mais pas en C#. </p> <pre class="brush:php;toolbar:false;">double deltaTime = (DateTime.Now - collectTime).TotalSeconds; string query = String.Format("MISE À JOUR des bâtiments LEFT JOIN server_buildings ON bâtiments.global_id = server_buildings.global_id ET bâtiments.level = server_buildings.level SET bâtiments.storage = bâtiments.storage + (server_buildings.speed * {0} * IF(bâtiments .boost >= MAINTENANT(), 2, 1)) WHERE batiments.global_id IN('generator', 'test')", deltaTime / 3600d);</pre> <p>Je viens de recevoir l'erreur MySQL - l'opérande doit contenir 1 colonne. Merci pour la suggestion! :)</p><p>La valeur du « stockage » devrait augmenter au fil du temps. </p><p><br /></p>
P粉529245050
P粉529245050

répondre à tous(1)
P粉710454910

Je suis relativement nouveau sur MySQL. Il s'agit d'une requête avec des paramètres.

string query = String.Format("UPDATE buildings JOIN server_buildings ON buildings.global_id = server_buildings.global_id AND buildings.level = server_buildings.level SET buildings.storage = buildings.storage + (server_buildings.speed * ?Num * IF(buildings.boost >= NOW(), 2, 1)) WHERE buildings.global_id IN('generator', 'test')");
                     
            using (MySqlCommand command = new MySqlCommand(query, connection))
            {
                MySqlParameter param = new MySqlParameter("?Num", (deltaTime / 3600d));
                command.Parameters.Add(param);
      
               command.ExecuteNonQuery();
            }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!