日常積累
- insert 與select的結(jié)合使用
- insert into 插入的值是select查詢出來的結(jié)果
格式:
INSERT INTO table1 (c1, c2, c3) (SELECT v1, v2, v3 FROM table2)
栗子:
insert into spider_center.user_authorization (auth_type,user_id) select 0, u.id from spider_center.user u where u.phone_no = '$1';
其中挽懦,0是auth_type的值 - update與select的結(jié)合使用
- update語句的條件是select出來的值
格式:
UPDATE TABLE_NAME SET column_name1 = VALUE WHRER column_name2 = (select id from XXX)
栗子:
update xyqb.repayment_plan set repayment_status=1 where user_id=(select id from xyqb.user where phone_no = '$1');
- update的value值是select的結(jié)果
格式:
UPDATE table1 alias SET (column_name,column_name ) = ( SELECT (column_name, column_name) FROM table2 WHERE column_name = alias.column_name) WHERE column_name = VALUE
栗子:
UPDATE b SET ClientName = a.name FROM a,b WHERE a.id = b.id
如果有以下報(bào)錯(cuò)
Truncated incorrect DOUBLE value:
有可能是update同時(shí)要修改兩個(gè)字段的值捍歪,兩個(gè)字段之間不要用and驰贷,直接使用逗號(hào)連接即可