sql >> Database teknologi >  >> RDS >> Mysql

SQL Array-søgning

Forudsat at du virkelig bruger 234,394,479 som værdi af én kolonne (du skal i det mindste bruge ,234,394,479, at være i stand til at gøre WHERE invited LIKE '%,234,%' i din forespørgsel) skal du genopbygge dine brugertabeller, fjerne feltet invited_users og opret tabel som denne:

CREATE TABLE invited_users (
  id INT AUTO_INCREMENT,
  owner_id INT, -- Who's input it is
  target_id INT, -- What's the target user
  PRIMARY KEY ( id),
  UNIQUE ( owner_id, target_id),
  -- Indexes (FOREIGN KEYs!) to users table
);

Og end bare vælg en liste over brugere, der inviterede bruger 234 med forespørgsel:

SELECT users.id, users.name
FROM invited_users
INNER JOIN users ON invited_users.owner_id = users.id
GROUP BY users.id
WHERE invited_users.target_id = 234


  1. MySql kan ikke opdatere overordnet række, når jeg har ON UPDATE CASCADE

  2. ExecuteNonQuery:Forbindelsesegenskaben er ikke blevet initialiseret.

  3. #1025 - Fejl ved omdøbning (fejlnr.:150) i mysql

  4. PostgreSQL 11:Hvad er nyt