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

Er der en måde at eksekvere kode dynamisk i MySQL, svarende til at eksekvere med det samme i Oracle?

Det virker faktisk ikke som det jeg skrev. Jeg koder bare som:

set @preparedstmt = concat('SELECT tid, LENGTH(message) len FROM ? where tid=? and first=1');
prepare stmt from prepared_stmt;
execute stmt using v_tid;
drop prepare stmt;

Bare pas på tabelnavnet, det skal ikke erstattes med pladsholderen. Så @preparedstmt bør genereres med concat-metoden for at lave en erklæring, som bare erstatter parametrene i betingelser med pladsholder, men ikke tabelnavnet.



  1. Hvad er forskellen mellem varchar og nvarchar?

  2. SQLite Like() Funktion med eksempler

  3. MySQL:Alle dele af den primære nøgle skal IKKE være NULL; hvis du har brug for NULL i en nøgle, skal du bruge UNIQUE i stedet for

  4. Sådan kopieres en tabel fra en mysql-database til en anden mysql-database