sql >> Databáze >  >> RDS >> Mysql

Mohu vytvořit tabulku MYSQL pomocí parametrizovaného příkazu PDO?

V připravených příkazech nemůžete použít zástupné symboly pro identifikátory (sloupec/tabulka/databáze/názvy funkcí atd.). Můžete je použít pouze pro hodnoty.

CREATE TABLE noteshareproject.:title
//                            ^^^^^^ this will not work

Budete muset ručně dezinfikovat $title takže jej lze použít přímo v řetězci, pokud to chcete udělat.

Všimněte si také, že DDL příkaz jako CREATE TABLE nelze připravit, takže nemá smysl používat prepare() . Můžete také použít query() nebo exec() .

Zajímalo by mě také, zda skutečnost, že to chcete udělat, je indikátorem špatného návrhu databáze - je nepravděpodobné, že požadavek na více tabulek stejné struktury je správným způsobem uložení vašich informací, i když bez znalosti nelze s jistotou říci.




  1. Procedura/funkce PL/SQL pro dynamické zobrazení dat z různých tabulek spolu s názvy sloupců v prvním řádku dat

  2. Modelování vztahu mnoho k mnoha v JPA/Hibernate

  3. Jak zobrazit typ proměnné v PL/SQL?

  4. Změna primárního klíče MySQL, pokud existují omezení cizího klíče