2
我是MySQL的新手,所以我需要一些帮助。在MYSQL(?)中移动colums之间的值
我试图移动它们之间的3个不同的列值,但我不能让它正常工作
<?php
include_once 'db_connect.php';
include_once 'psl-config.php';
include_once 'db_manual_connect.php';
$error_msg = "";
if (isset($_POST['value'], $_POST['id'])) {
$value= $_POST['value'];
$id = $_POST['id'];
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "UPDATE equipo SET
slot1= CASE WHEN slot1= '".$value."' THEN slot1
WHEN slot2= '".$value."' THEN slot2
WHEN slot3= '".$value."' THEN slot3 END,
slot2= CASE WHEN slot1= '".$value."' THEN slot2
WHEN slot2= '".$value."' THEN slot1
WHEN slot3 = '".$value."' THEN slot2 END,
pokemon3 = CASE WHEN slot1= '".$value."' THEN slot3
WHEN slot2= '".$value."' THEN slot3
WHEN slot3= '".$value."' THEN slot1 END WHERE id = '".$id."'";
$result = mysqli_query($conn, $sql);
能否请您解释一下,*试图详细地3分不同的列值移动*多一点。请在更新之前给出一个数据的例子,以及它应该如何处理。 – Seb
更新你的问题添加适当的数据样本和预期的结果 – scaisEdge
MySQL不会那样工作。第二个'set'将使用已被覆盖的值。使用'更新...设置a = b,b = a',您将以两列中的列“b”的原始值结束。你可以通过使用额外的帮助栏来完成你的switcheroo;也可能需要先分开执行,然后在工作时将其合并。 – Solarflare