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

Zend Db / Mysql - Вмъкване с Select

Моето решение (с помощта на Zend) беше да ЗАКЛЮЧЯ таблицата, след това да поискам номер_елемента, да добавя резултата към заявката за вмъкване, да вмъкна и ОТКЛЮЧИ таблицата. Ето как да ЗАКЛЮЧИТЕ и ОТКЛЮЧИТЕ:

$sql = "LOCK TABLE items WRITE";
$this->getAdapter()->query($sql);

//run select to get last item_number
//append result to insert array
//insert

$sql = "UNLOCK TABLES";
$this->getAdapter()->query($sql);

Друг начин е да напишете заявката, така че стойността да бъде избрана по време на вмъкването. Ето един пример:

$sql = INSERT INTO items (item_id, item_family, item_name, item_number) 
              VALUES (item_id, item_family, item_name, (SELECT item_number FROM... )+1);
$this->getAdapter()->query($sql);

Повече информация за този вид заявка в MySQL Web



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Начини за избягване на несинхронизиране на командите на MySQLdb; не можете да стартирате тази команда сега (2014) изключение

  2. Сървърът срещна вътрешна грешка или неправилна конфигурация и не можа да изпълни заявката ви

  3. Как този уебсайт коригира кодирането?

  4. Фатална грешка:Извикване на член на функция query() PHP CLASS

  5. объркване с добавяне на 2 времеви стойности