Mysql
 sql >> база данни >  >> RDS >> Mysql

Разделен със запетая низ --> FUNCTION db.CHARINDEX не съществува

MySQL няма вграден CHARINDEX() функция. LOCATE() ще бъде еквивалент на MySQL.

Използване на SUBSTRING_INDEX() може да е по-сбит начин да направите това. Нещо като това (отказ от отговорност:непроверено):

SUBSTRING_INDEX(POS, ',', 1) за POS

SUBSTRING_INDEX(POS, ',', -1) за POS2

Като настрана, може да не разбирам погрешно какво се опитвате да постигнете, но изглежда, че може да искате да АКТУАЛИЗИРАТЕ съществуващи редове, а не INSERT новите? Нещо като:

UPDATE MyTable SET POS2 = SUBSTRING_INDEX(POS, ',', -1);
UPDATE MyTable SET POS = SUBSTRING_INDEX(POS, ',', 1);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете родителски ред само ако няма деца

  2. mysqli_stmt_get_result алтернатива за php 5.2.6

  3. Защо executemany е бавно в Python MySQLdb?

  4. laravel 4 - как да ограничите (вземете и пропуснете) за Eloquent ORM?

  5. Най-добрият начин за съхранение на потребителски настройки в MySQL?