2012-05-11 4 views
-1

Как я уже опубликовал в другом запросе, у меня есть таблица MYSQL, содержащая Tweets, и используйте PHP для ее заполнения. Чтобы убедиться, что нет дубликатов сообщений, он проверяет последний идентификатор в таблице перед обновлением, что, я думаю, поэтому, пытаясь заставить его проверить, что retweet_count не работает (он игнорирует твиты, которые уже хранятся).Обновить таблицу 1 с таблицей 2, затем обрезать таблицу 2

Моя работа вокруг, чтобы использовать один и тот же сценарий также заполнить вторую таблицу, а затем выполнить следующие два SQL команды:

UPDATE table1 JOIN table2 ON table2.col1 = table1.col1 SET table1.col2 = table2.col2; 

следуют

TRUNCATE TABLE table2; 

который обновляет первую таблицу а затем пустые (не удалять, просто обрезает) вторую, поэтому я могу повторить.

Вопрос в том, как это было бы написано на PHP, чтобы команда JOIN выполнялась первой, а затем выполнялась команда TRUNCATE? Thanks

+0

Выберите один, затем прочитайте его: [PDO] (http://us.php.net/manual/en/book.pdo.php), [mysqli] (http://us.php.net/manual /en/book.mysqli.php) – webbiedave

ответ

0

Что вы предлагаете - хранение избыточных данных и очистка с помощью усечения регулярно в производственной системе - это не лучший подход.

Вместо этого я предлагаю вам отключить автоматическую фиксацию и использовать START TRANSACTION, COMMIT и, возможно, ROLL BACK (http://dev.mysql.com/doc/refman/5.1/en/commit .html).

Вы увидите, что вы можете создать единицу работы, которая выполняет сразу несколько действий, и вам не придется полагаться на то, что вы предлагаете.

Смежные вопросы