I am using MySQL v5.1.36 and I am trying to create a stored function using this code.
DELIMITER //
CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
BEGIN
DECLARE y INT;
SELECT id INTO y
FROM `modx`.coverage_state
WHERE `coverage_state`.name = x;
RETURN y;
END//
Run Code Online (Sandbox Code Playgroud)
When entered into the MySQL Console I get this response.
mysql> DELIMITER //
mysql> CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
-> BEGIN
-> DECLARE y INT;
ERROR 1064 (42000): You have an error in …Run Code Online (Sandbox Code Playgroud) 我似乎无法创建一个触发器.我已经尝试了以下两种方式进行更新.我一直在使用insert语句获得语法错误.我在过去4小时内搜索了论坛和网络搜索,没有任何变化.这有很多代码,它基本上重复了一遍.任何帮助,将不胜感激.谢谢.我正在运行MySQL 5.0并通过phpMyAdmin 2.8.2.4作为Administrator/Root进行访问.
CREATE TRIGGER insert_classes
AFTER insert ON Classes
FOR EACH ROW
BEGIN
insert into insert_tracking_classes (classID, Title, classDesc, Category, isEvent, picLeft, picTop, picRight, picBottom, prnColor, modified)
values(NEW.classID, NEW.Title, NEW.classDesc, NEW.Category, NEW.isEvent, NEW.picLeft, NEW.picTop, NEW.picRight, NEW.picBottom, NEW.prnColor, NOW());
END;
CREATE TRIGGER insert_classes
AFTER insert ON Classes
FOR EACH ROW
BEGIN
insert into insert_tracking_classes
set classID = NEW.classID,
Title = NEW.Title,
classDesc = NEW.classDesc,
Category = NEW.Category,
isEvent = NEW.isEvent,
picLeft = NEW.picLeft,
picTop = NEW.picTop,
picRight = NEW.picRight, …Run Code Online (Sandbox Code Playgroud) 这个查询:
UPDATE jos_content SET fulltext='\r\n<br /> \" some other text' WHERE id=3
Run Code Online (Sandbox Code Playgroud)
得到:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext='\r\n<br /> \" some other text' WHERE id=3' at line 1
任何人都知道为什么?谢谢你.
正如你可以看到下面,我检查,看看如果当前用户是在user_a或user_b表列的朋友.
根据当前用户所在的位置,我想得到他相应的朋友.
不知怎的,我不能让这个语法工作,并想知道是否有人可以告诉我什么是错的(我在附近的第3行得到一个错误IF user_a = 2.
SELECT *
FROM friends
IF user_a = 2 THEN
JOIN user_profiles ON friends.user_b = user.profiles.user_id
WHERE user_a = 2
AND accepted = 1;
ELSEIF user_b = 2 THEN
JOIN user_profiles ON friends.user_a = user_profiles.user_id
WHERE user_b = 2
AND accepted = 1;
END IF;
Run Code Online (Sandbox Code Playgroud) 我创建了一个应该执行某些操作的过程,但是每次调用它时,mysql 都会出现错误,我不知道它是什么意思。我试图理解它是徒劳的,这是存储过程对其进行操作的表结构:
CREATE TABLE `recruitment`.`job_seeker` (
`user_id` INT Null ,
`fname` VARCHAR(45) Null ,
`lname` VARCHAR(45) Null ,
`mname` VARCHAR(45) Null ,
`gender` VARCHAR(10) Null ,
`dob` DATE Null ,
`marital_status` VARCHAR(45) Null ,
`address` VARCHAR(45) Null ,
`city` VARCHAR(45) Null ,
`nationality` VARCHAR(45) Null ,
`phone` VARCHAR(45) Null ,
`mobile` VARCHAR(45) Null ,
`degree_id` INT Null ,
`education` VARCHAR(100) Null ,
`experience` VARCHAR(250) Null ,
`other` VARCHAR(250) Null ,
`job_target` VARCHAR(250) Null ,
PRIMARY KEY (`user_id`) ,
INDEX `user_id` …Run Code Online (Sandbox Code Playgroud) 我正在使用mysql,我有一个表,他的名字是"概念关系",我想插入其中
for ($i = 0; $i < count($sources); $i++) {
$sourceID = $this->getConcpeptID($sources[$i]);
$desID = $this->getConcpeptID($distinations[$i]);
$query2 = "INSERT INTO concept-relation (relationID, firstConceptID, secondConceptID) VALUES (:rID, :sID, :dID)";
$sth = $this->db->prepare($query2);
$sth->execute(array(
':rID' => $relationID,
':sID' => $sourceID,
'dID' => $desID
));
}
Run Code Online (Sandbox Code Playgroud)
我收到此语法错误消息
INSERT INTO concept - relation(
relationID,
firstConceptID,
secondConceptID
)
VALUES ( 3, 3, 3 )
Run Code Online (Sandbox Code Playgroud)
我试图直接从mysql插入并得到错误似乎相同的错误
for ($i = 0; $i < count($sources); $i++) {
$sourceID = $this->getConcpeptID($sources[$i]);
$desID = $this->getConcpeptID($distinations[$i]);
$query2 = "INSERT INTO …Run Code Online (Sandbox Code Playgroud) 我有以下查询:
SELECT
stat.mcq_id,
ROUND( stat.total_score / stat.num_taken, 2 ) AS avg_score
FROM (
SELECT
user_mcq.mcq_id,
SUM( score ) AS total_score,
COUNT( user_mcq.id ) AS num_taken
FROM user_mcq
INNER JOIN user ON ( user.id = user_mcq.user_id )
WHERE user.level_id =3
AND user_mcq.is_complete =1
GROUP BY user_mcq.mcq_id
) AS stat
Run Code Online (Sandbox Code Playgroud)
这会产生:
mcq_id avg_score
1 5.75
2 9.22
6 8.81
7 8.94
14 7.00
16 9.46
Run Code Online (Sandbox Code Playgroud)
我想用它来更新另一个名为mcqusing的表mcq_id来匹配结果mcq.id
我尝试了以下,但没有成功:
UPDATE mcq SET mcq.avg_score = stats.avg_score FROM (
SELECT
stat.mcq_id, …Run Code Online (Sandbox Code Playgroud) 我正在尝试调试我的代码,但mysql_error()没有显示任何内容.我知道有些不对劲,因为我写的时候
or die("ERROR");
Run Code Online (Sandbox Code Playgroud)
它显示ERROR.所以问题必须是那一行代码.当我写作
or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
它显示空白.这是我认为有错误的行的代码:
while ($rows = mysql_fetch_array($sql6) or die(mysql_error())) {
Run Code Online (Sandbox Code Playgroud)
现在这里是完整的代码块:
$sql6 = mysql_query("SELECT * FROM replies WHERE thread_id = $thread_id");
$numRows = mysql_num_rows($sql6);
$replies = '';
if ($numRows < 1) {
$replies = "There are no replies yet, you can make the first!";
} else {
while ($rows = mysql_fetch_array($sql6) or die(mysql_error())) {
$reply_content = $rows['5'];
$reply_username = $rows['7'];
$reply_date = $rows['8'];
$reply_author_id = $rows['4'];
$sql9 = mysql_query("SELECT * FROM users WHERE id = '$reply_author_id'"); …Run Code Online (Sandbox Code Playgroud) 我在No operations allowed after statement closed.尝试将值插入数据库的 Java 代码中收到带有签名的异常。错误签名表示我的 Statement 对象已关闭,我正在尝试在我的代码中再次使用它,但我很难理解为什么会发生这种情况,因为我没有关闭代码中任何地方的任何连接。
这是Java代码。
public class DataBaseAccessUtils {
private static String jdbcUrl =
AppConfig.findMap("BXRequestTracker").get("jdbcUrl").toString();
private static Connection connection = null;
private static Statement statement = null;
public static void insertHostname(String hostname, String rid, String fleet, String locale)
{
locale.toUpperCase();
String sql = "UPDATE " + locale + "REQUESTTRACKER SET " + fleet
+ "='" + hostname + "' WHERE RID='" + rid + "'";
try {
statement.execute(sql);
}
catch (SQLException e) …Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到我的c#.Net应用程序中的MySQL数据库
我尝试连接时收到此错误:不支持关键字:'port'.
该错误似乎表明我的连接字符串存在问题
<add name="mydataEntities" connectionString="server=myserver.com;port=3306;password=xxxx;user id=yyyy;database= mydatabase;persistsecurityinfo=True" providerName="MySql.Data.MySqlClient" />
Run Code Online (Sandbox Code Playgroud)
我有参考添加:MySql.Data 6.9.7.0(MySQL的ADO.Net驱动程序)和MySql.Data.Entity.EF6 6.9.7.0(支持实体框架6.0)
在我的配置中,我有:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.9.7.0" newVersion="6.9.7.0" />
</dependentAssembly>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)
连接字符串在这里设置:
public class Repository
{
protected mydataEntities DbContext;
public Repository()
{ …Run Code Online (Sandbox Code Playgroud) mysql ×10
mysql-error-1064 ×10
sql ×3
php ×2
function ×1
group-by ×1
java ×1
pdo ×1
syntax-error ×1
triggers ×1