能否同时更新两条数据到数据库里?
如:$dsql->ExecuteNoneQuery("Update `#@__archives` set `arcrank`='0', `sortrank`='$time', `pubdate`='$time' where id = '$id';");
想在上面的语句中,加一条:Update `#@__taglist` set arcrank='0' ,请问如何加?
不能分两行的,因为第一行导入的数据库的ID是随机的,能否一条写下?
mysql 如何同时Update两条数据到数据库?
答案:3 悬赏:0
解决时间 2021-03-22 06:15
- 提问者网友:相思故
- 2021-03-21 18:15
最佳答案
- 二级知识专家网友:摧毁过往
- 2021-03-21 19:01
你能不能把问题具体化,举个例子说明一下,你要在数据库上写些什么东西,要这么操作的原因是什么,看大家能不能帮你解决。
你现在的说明太过抽象了。
你现在的说明太过抽象了。
全部回答
- 1楼网友:转身→时光静好
- 2021-03-21 19:38
第一种,很简单,适用于任何存储引擎。
1. 下载并安装好新版本的mysql数据库,并将其端口改为3307(避免和旧版本的3306冲突),启动服务。
2. 在新版本下创建同名数据库。
# mysqldump -p3307 -uroot create mysqlsystems_com
3. 在旧版本下备份该数据库。
# mysqldump -p3306 -uroot mysqlsystems_com > mysqlsystems_com.bk
note: 你也可以加上–opt选项,这样可以使用优化方式将你的数据库导出,减少未知的问题。
4. 将导出的数据库备份导入到新版本的mysql数据库中。
# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk
5. 再将旧版本数据库中的data目录下的mysql数据库全部覆盖到新版本中。
# cp -r /opt/mysql-5.1/data/mysql /opt/mysql-5.4/data
note: 大家也都知道这个默认数据库的重要性。
6. 在新版下执行mysql_upgrade命令,其实这个命令包含一下三个命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
note: 在每一次的升级过程中,mysql_upgrade这个命令我们都应该去执行,它通过mysqlcheck命令帮我们去检查表是否兼容新版本的数据库同时作出修复,还有个很重要的作用就是使用mysql_fix_privilege_tables命令去升级权限表。
7. 关闭旧版本,将新版的数据库的使用端口改为3306,重新启动新版本mysql数据库。到此,一个简单环境下的数据库升级就结束了。
第二种,同样适用任何存储引擎。
1. 同样先安装好新版本的mysql。
2. 在旧版本中,备份数据库。
# mkdir /opt/mysqlsystems_bk ; mysqldump -p3306 -uroot –tab=/opt/mysqlsystems_bk mysqlsystems_com
note: –tab选项可以在备份目录mysqlsystems_bk下生成后缀为*.sql和*.txt的两类文件;其中,.sql保存了创建表的sql语句而.txt保存着原始数据。
3. 接下来在新版本的数据库下更新数据。
# mysqladmin -p3307 -uroot create mysqlsystems_com
# cat /opt/mysqlsystems_bk/*.sql | mysql -p3307 -uroot mysqlsystems_com ( create tables )
# mysqlimport mysqlsystems_com /opt/mysqlsystems_bk/*.txt ( load data )
4. 之后的所有步骤与第一种方法的后三步5、6、7相同。
第三种,适用于myisam存储引擎,全部是文件间的拷贝。
1. 安装。
2. 从旧版本mysqlsystems_com数据库下将所有.frm、.myd 和.myi文件拷贝到新版本的相同目录下。
3.之后的步骤依然同于第一种的后三步。
- 2楼网友:单身小柠`猫♡
- 2021-03-21 19:30
$dsql->ExecuteNoneQuery("Update `#@__archives` set `arcrank`='0', `sortrank`='$time', `pubdate`='$time' where id = '$id';");
$dsql->ExecuteNoneQuery("Update `#@__taglist` set arcrank='0' ;");
这样不行吗?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯