2012-02-10 4 views
0

Это похоже на простой запрос. Но мой запрос не работает, и я нахожу противоречивые ответы в Интернете. Возможно ли, чтобы UPDATE и INSERT использовали хранимую процедуру, соединяющую 2 таблицы в MySql?Обновление 2 таблиц с использованием хранимой процедуры в MySql

У меня есть веб-сайт Asp.net Webforms. Он имеет 2 таблицы индивидуальных и адрес. Отдельная таблица содержит данные о пользователе, то есть номер телефона, факс, электронный адрес ect. В таблице адресов содержится вся адресная информация для отдельного пользователя. Каждая таблица имеет столбец индивидуального идентификатора, который автоматически увеличивается. (Примечание: индивидуальный идентификатор в адресной таблице не является первичным ключом, но индивидуальный идентификатор в отдельной таблице является первичным ключом.

В любом случае, у меня есть FormView в Asp.net, что с оператором SELECT, который объединяет эти 2 таблицы и отобразить штраф данных, но обновление новой информации в обеих таблицах держит неудачу

Моя последняя ошибка:.. Дублировать запись «0» для ключ «PRIMARY»

есть ли способ, чтобы написать заявление UPDATE, который объединяет 2 Таблицы? Это должно быть правильно?

+0

Операторы SQL Update могут обновлять только одну таблицу. Чтобы сделать два, вы обновляете одну таблицу, а затем другую .... надеюсь, что в транзакции, так что если вторая не удастся, вы можете отменить первый. –

ответ

1

Можно обновить несколько таблиц с помощью одного q uery -

UPDATE table1 
INNER JOIN table2 
    ON table1.id = table2.table1_id 
SET table1.col1 = 'some value', table2.col1 = 'Another value' 
WHERE <some where clause>; 
+0

Посмотрите, что я имею в виду? Некоторые люди говорят, что это невозможно, другие говорят, что это так. –

+0

Когда я добавляю Set table1.col1 = 'somevalue' Является ли какое-то значение переменной variablameame, которую я передаю? таких как Fname? или Lname? –

+0

:-) Это определенно возможно. Я даже проверил его, чтобы убедиться, прежде чем я разместил его. «somevalue» - это значение, которое вы хотите присвоить столбцу, который, скорее всего, поступает из переменной. – nnichols

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