mysql - 从脚本运行时 MySQL 创建视图失败
问题描述
第一次海报。我无法让几个创建视图查询从 .sql 文件正确运行。我已经在学校服务器上测试了以下查询,它们工作正常,除非使用“源”命令运行。
*编辑:我试过source ~/file_location/file_name.sql
从命令行运行这两种不同的方式,它会很好地提取文件,但似乎没有任何执行。我也试过直接在 sql server 登录时运行它< ~/file_location/file_name.sql
*编辑 2:现在显示文件应该指向哪个数据库的 USE 语句,之前未提及但在提出此问题时存在。
USE [database]
CREATE VIEW Country_View AS
SELECT Name, Code, Continent, Population
FROM Country;
CREATE VIEW city_country_view AS
SELECT City.Name, City.Population, Country.Name, Country.Population
FROM City, Country
WHERE City.Country = Country.Code;
CREATE VIEW city_country_view2 AS
SELECT City.Name, City.Population, Country.Name, Country.Population
FROM City LEFT JOIN Country ON City.Country = Country.Code
WHERE Country.Code = "USA" OR Country.Code = "CAN" OR Country.Code = "MEX";
CREATE VIEW country_language_view AS
SELECT Country.Name, Country.Continent, Country.Region, CountryLanguage.Language
FROM Country, CountryLanguage
WHERE Country.Code = CountryLanguage.Country;
CREATE VIEW country_language_view2 AS
SELECT Country.Name, Country.Continent, Country.Region, CountryLanguage.Language
FROM Country LEFT JOIN CountryLanguage ON Country.Code = CountryLanguage.Country
WHERE Language = "English" AND IsOfficial = "T";
同样,直接从命令行执行它们是可行的,但导入它们既不会引发错误,也不会创建视图。我相信 MySQL 版本是 5.7.19。
解决方案
推荐阅读
- php - 如何从 PHP CLI 调用 composer 包的类方法?
- firebase - 无法为 org.gradle.api.Project 类型的项目“:firebase_database”获取未知属性“android”
- gradle - 如何从 IntelliJ IDEA Gradle 工件中删除版本?
- php - 代码工作正常,但在服务器上的 php 中一次又一次地登录到登录页面后
- c++ - 使用已安装的 C++11 编译器在 CentOS7 中构建 Boost 1.75 问题
- php - 有没有办法在另一个资源中分配一个 laravel 资源?
- google-apps-script - 我想制作一个谷歌脚本,每分钟将运行总数加 1,永远。利用以前的帖子,我觉得我很接近
- react-redux - 如何处理多个组件更新相同的状态?
- javascript - 使用 AJAX 发送更多数据
- java - jframe.dispose() 抛出异常