草庐IT

INSERT-SELECT

全部标签

php - "SELECT * FROM users WHERE id IN ( )"==失败

我有一个名为sqlf()的函数,它模拟准备好的语句。例如我可以做这样的事情:$sql=sqlf("SELECT*FROMUsersWHEREname=:1ANDemail=:2",'Big"John"','bj@example.com');由于各种原因,我不能使用准备好的语句,但我想模拟它们。我遇到的问题是像这样的查询$sql=sqlf("SELECT*FROMUsersWHEREidIN(:1)",array(1,2,3));我的代码可以工作,但它会因空数组而失败,例如以下抛出mysql错误:SELECT*FROMUsersWHEREidIN();有人有什么建议吗?我应该如何将空数组

mysql - 如何提高 MySQL INSERT 和 UPDATE 性能?

我们数据库中的INSERT和UPDATE语句的性能似乎正在下降并导致我们的网络应用程序性能不佳。表是InnoDB,应用程序使用事务。我可以进行任何简单的调整来加快速度吗?我想我们可能遇到了一些锁定问题,我该如何找出来? 最佳答案 你可以changethesettings加快InnoDB插入速度。和evenmorewaystospeedupInnoDB...还有一项优化article 关于mysql-如何提高MySQLINSERT和UPDATE性能?,我们在StackOverflow上找到

sql - 对于 SQL INSERT,以逗号分隔的值列表作为不同的行,而不是作为一行的字段

我想在单个SQL语句中进行多次插入,很像INSERTINTOxxxSELECTfieldFROMzzz但是我没有在表中的值,只是文字列表。正常的方法是对每个值执行一个SQL查询,但如果存在标准SQL语句或特定于MySQL的语句,那就太好了。 最佳答案 插入xxx(字段)值(values1),(values2),(values3)例如插入mytable(name,desc)值('name1','desc1'),('name2','desc2'),('name3','desc3'),('name4','desc4')

php - 如何使用 zend paginate 和普通的 sql 查询而不是 zend_db_select

所以基本上您可以通过以下方式使用zend分页:$sql=newZend_Db_Select($db);$sql->from(table);$sql->where(zend_db_select_sucks=1);$paginator=Zend_Paginator::factory($sql);有没有一种使用分页器的方法,这样您就可以自己设置$sql而无需使用zend_db_select就这样$sql="SELECT*FROMtableWHEREzend_db_select_sucks=1"$paginator=Zend_Paginator::factory($sql);?

sql - 如何联合 SELECT 两个具有两个表的 ID 的表?

好的,我有四个表:表1:“f_withholdings”表2:“f_wh_list”表3:“f_rpayments”表4:“f_rp_list”表1和表2通过wh_id字段相互连接如图所示,表3和表4通过rp_id连接。我想将两个表合并为一个表,例如:SELECT`wh_list_id`,`wh_name`AS`name`,`wh_list_date`AS`date`,`wh_list_amount`AS`amount`,`wh_list_pending`AS`pending`,`wh_list_comment`AS`comment`FROM`f_wh_list`LEFTJOIN`f_

mysql - UNIQUE + INSERT IGNORE 如何工作?

我有这张表:CREATETABLE`recent_adds`(`id`INT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,`trackid`INT(11)UNSIGNEDNOTNULL,`user`VARCHAR(255)NOTNULL,PRIMARYKEY(`id`))COLLATE='utf8_general_ci'而且我只想在trackd/user对尚未插入表中时插入数据。我知道有一种UNIQUE+INSERTIGNORE可以解决这种问题,但实际上我不太明白它是如何工作的。如果我执行此命令:ALTERTABLErecent_addsADDUNIQUEINDE

mysql - 带有 SELECT 结果的 SQL 更新

我有一个扩展的SQLSELECT,它为许多用户执行TotalNetWorth的计算。结果是TotalNetworth和User。这可以包含多个记录。示例:-------------------------|TotalNetWorth|UserId|-------------------------|24.45|1||45.34|3|-------------------------我想做的是更新NetWorth我的专栏Users表与TotalNetWorth值(value),和UserId=Users.Id作为关键。解决此问题的最佳方法是什么? 最佳答案

php - UNION SELECT MySQL 查询,用 PHP 做数学运算和显示

我有3个表。寻找一种使用三个不同表格查找字段PRICE差异的好方法,然后显示前3个最大的负差异。我想首先找到最好的MySQL查询来使用,然后找到最好的方式在php中显示它。可维护:COMPANY|MODEL|PRICEMainCompany|ProductA|100.00MainCompany|ProductB|50.00MainCompany|ProductC|25.00MainCompany|ProductD|300.00兼容1:COMPANY|MODEL|PRICECompetitor1|ProductA|100.00//0Competitor1|ProductB|55.00//

mysql - 具有多个条件的 SQL SELECT 查询

我被SQL查询困住了。假设我们有一个员工、一个任务表以及它们之间的多对多关联。表格如下所示:employeesid|name1|John2|Peter3|Miketasksid|name1|Support2|Programming3|Callcustomers4|WriteNewsletters5|WriteInvoicesemployees_tasksemployee_id|task_id1|11|22|32|42|53|2现在我想获得所有以“编程”为任务的员工。正确的查询是:SELECTemployees.id,employees.nameFROMemployeesINNERJOI

MySQL SELECT from multiple tables, multiple GROUP BY and group_concat?

我想在MySQ中查询三个表。如下:**Table:Leaderboard**Name|Score------------James|1Steve|2Dave|5**Table:Actions**Name|Action|Time----------------------------James|Ateanapple|01:00James|Kickedadog|02:00Steve|Ateadog|03:00Steve|Kickedahen|01:00Dave|died|02:00**Table:Items**Name|Item|Time--------------------------