Mysql
 sql >> Baza danych >  >> RDS >> Mysql

GROUP_CONCAT błąd instrukcji mysql

Jeśli spojrzysz na swój kod (i powiększysz):

SET @sql = CONCAT('SELECT id_c, students,', @sql, '
        [..]
                CONCAT(B.`code`, '_', A.id_a) col,
                CONCAT(D.value_m, ',', D.value_n) val
        [..]
        GROUP BY id_c'
    );

zobaczysz, że _ i , są czarne, podczas gdy powinny być czerwone jako część sznurka. Oznacza to, że twój sznurek jest tam „zerwany”. Musisz więc zmienić pojedyncze cudzysłowy za pomocą '' :

SET @sql = CONCAT('SELECT id_c, students,', @sql, '
        [..]
                CONCAT(B.`code`, ''_'', A.id_a) col,
                CONCAT(D.value_m, '','', D.value_n) val
        [..]
        GROUP BY id_c'
    );

Lub użyj podwójnych cudzysłowów dla ciągów zawierających pojedyncze cudzysłowy:

SET @sql = CONCAT('SELECT id_c, students,', @sql, "
        [..]
                CONCAT(B.`code`, '_', A.id_a) col,
                CONCAT(D.value_m, ',', D.value_n) val
        [..]
        GROUP BY id_c"
    );

Teraz cały ciąg jest czerwony, tak jak powinien być :-)

http://rextester.com/SLMU41976




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kara wydajności ciągów jako kluczy podstawowych?

  2. Która metoda jest lepsza, aby zweryfikować poświadczenia użytkownika?

  3. Dane znakowe nie są przekazywane z php do jquery

  4. funkcja php nie zwraca wszystkich wyników z zapytania MySQL w foreach

  5. Jak umieścić jedną kolumnę wyników mysql_query w tablicy?