#mysql #vb.net #visual-studio-2010
#mysql #vb.net #visual-studio-2010
Вопрос:
телефонные номера клиентов customers_has_phonenumbers
customers -> detailed
customers.customer_id int(11) primary auto_increment
customers.customer_name varchar(255)
phonenumbers -> detailed
phonenumbers.phonenumber_id int(11) primary auto_increment
phonenumbers.phonenumber_type int(11)
phonenumbers.phonenumber_name varchar(255)
phonenumbers.phonenumber varchar(15)
customers_has_phonenumbers -> detailed
customers_has_phonenumbers.customer_id int(11) -> customers_customer_id
customers_has_phonenumbers.phonenumber_id int(11) -> phonenumbers_phonenumber_id
как вставить и обновить телефонный номер
надеюсь, вы, ребята, сможете помочь
Ответ №1:
Вставьте новый номер телефона
insert into phonenumbers (phonenumber_type,phonenumber_name,phonenumber) values (1,'example name','example number');
insert into customers_has_phonenumbers (customers_customer_id,phonenumbers_phonenumber_id) values ((select customer_id from customers where customer_name = 'example customer name'),(select phonenumber_id from phonenumbers where phonenumber = 'example number');
Обновить номер телефона
insert into phonenumbers (phonenumber_type,phonenumber_name,phonenumber) values (1,'example name','new phone number');
update customers_has_phonenumbers set phonenumbers_phonenumber_id = (select phonenumber_id from phonenumbers where phonenumber = 'new phone number') where phonenumbers_phonenumber_id = (select phonenumber_id from phonenumbers where phonenumber = 'old phone number') and customers_customer_id = (select customer_id from customers where customer_name = 'example customer name');
Не уверен, как вы справитесь с клиентами с тем же именем клиента!
Вероятно, стоит также иметь уникальный ключ в столбце phonenumbers.phonenumber, если это разумно. В противном случае все, что однозначно идентифицирует строку phonenumbers (кроме phonenumbers.phonenumber_id ), должно использоваться в подвыборке update для извлечения значения phonenumbers.phonenumber_id . То же самое относится и к выбору клиента в том же операторе обновления.
Кроме того, я не уверен, есть ли у вас уже строка customers при вставке нового номера телефона? Если нет, то вам придется вставить новую строку customers перед вставкой в таблицу customers_has_phonenumbers.
Надеюсь, это поможет.
Комментарии:
1. у меня также есть customers.customer_id
Ответ №2:
Смотрите Синтаксис нескольких таблиц на этой странице.